Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const functions = require('firebase-functions');
- const admin = require('firebase-admin');
- admin.initializeApp(functions.config().firebase);
- exports.sendNotification = functions.database.ref('/Messages/{user_id}/{dest_uid}/{message_id}').onWrite(event => {
- const user_id = event.params.user_id;
- const dest_uid = event.params.dest_uid;
- const message_id = event.params.message_id;
- console.log('We have a notification to send to ',dest_uid,' from ',user_id);
- if(!event.data.val()) {
- return console.log('A notification has been deleted from the database ',message_id);
- }
- const nameFinder = admin.database().ref(`/Users/${dest_uid}/name`).once('value');
- return nameFinder.then(nameRes => {
- const name = nameRes.val();
- const messagefinder = admin.database().ref(`/Messages/${user_id}/${dest_uid}/${message_id}/message`).once('value');
- return messagefinder.then(messageResult => {
- const message = messageResult.val();
- const deviceTokenFinder = admin.database().ref(`/Users/${user_id}/device_token`).once('value');
- return deviceTokenFinder.then(result => {
- const deviceToken = result.val();
- const uidChecker = admin.database().ref(`/Messages/${user_id}/${dest_uid}/${message_id}/from`).once('value');
- return uidChecker.then(uidResult => {
- const tempUid = uidResult.val();
- console.log(tempUid,'-Equals-',dest_uid);
- if(tempUid == dest_uid) {
- const payload = {
- notification : {
- title : `${name} messaged you`,
- body : `${message}`,
- icon : "default"
- }
- };
- admin.messaging().sendToDevice(deviceToken,payload).then(response => {
- console.log('This was notification feature for..',deviceToken,' xx',result);
- });
- }
- });
- });
- });
- });
- });
Add Comment
Please, Sign In to add comment