Guest User

Untitled

a guest
Feb 21st, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. const functions = require('firebase-functions');
  2. const admin = require('firebase-admin');
  3. admin.initializeApp(functions.config().firebase);
  4. exports.sendNotification = functions.database.ref('/Messages/{user_id}/{dest_uid}/{message_id}').onWrite(event => {
  5. const user_id = event.params.user_id;
  6. const dest_uid = event.params.dest_uid;
  7. const message_id = event.params.message_id;
  8. console.log('We have a notification to send to ',dest_uid,' from ',user_id);
  9. if(!event.data.val()) {
  10. return console.log('A notification has been deleted from the database ',message_id);
  11. }
  12. const nameFinder = admin.database().ref(`/Users/${dest_uid}/name`).once('value');
  13. return nameFinder.then(nameRes => {
  14. const name = nameRes.val();
  15. const messagefinder = admin.database().ref(`/Messages/${user_id}/${dest_uid}/${message_id}/message`).once('value');
  16. return messagefinder.then(messageResult => {
  17. const message = messageResult.val();
  18. const deviceTokenFinder = admin.database().ref(`/Users/${user_id}/device_token`).once('value');
  19. return deviceTokenFinder.then(result => {
  20. const deviceToken = result.val();
  21. const uidChecker = admin.database().ref(`/Messages/${user_id}/${dest_uid}/${message_id}/from`).once('value');
  22. return uidChecker.then(uidResult => {
  23. const tempUid = uidResult.val();
  24. console.log(tempUid,'-Equals-',dest_uid);
  25. if(tempUid == dest_uid) {
  26. const payload = {
  27. notification : {
  28. title : `${name} messaged you`,
  29. body : `${message}`,
  30. icon : "default"
  31. }
  32. };
  33. admin.messaging().sendToDevice(deviceToken,payload).then(response => {
  34. console.log('This was notification feature for..',deviceToken,' xx',result);
  35. });
  36. }
  37. });
  38. });
  39. });
  40. });
  41. });
Add Comment
Please, Sign In to add comment