Возвращено неопределенное, ожидаемое обещание или значение - PullRequest
0 голосов
/ 08 мая 2019
const admin = require("firebase-admin");
const functions = require("firebase-functions");

admin.initializeApp(functions.config().firebase);

exports.newIssueNotification = functions.firestore.document("main/issues/list/{id}").onCreate((newDocSnap, context) => {

    const payload = {
      notification: {
        title: "New Issue added",
        body: "New issue",
        //badge: '1',
        sound: "default"
      }
    };

    const newDoc = newDocSnap.data();

    return newDoc.showGroups.forEach((groupName, context) => {

        if(groupName != ""){

            return admin.firestore().collection('main').doc('groups').get().then((groupDocSnap, context) => {

                const groupDoc = groupDocSnap.data();

                return groupDoc.Admin.forEach(uid => {

                    const docname = uid;

                        return admin.firestore().collection('users').doc(docname).get().then(uidDocSnap => {

                            const token = uidDocSnap.data().FCMToken;

                            return admin.messaging().sendToDevice(token, payload).then(function(response) {
                                console.log("Notification sent successfully:", response);
                              })
                              .catch(function(error) {
                                console.log("Notification sent failed:", error);
                              });

                        })
                    })
                }
            )
        }else{
        }
    })
});

Я новичок в этом, может кто-нибудь помочь выяснить, чтобы избежать ошибок, показанных здесь. журналы консоли

Steps.

  1. При создании нового документа
  2. получить имена групп в документе
  3. перейти к групповым документам и получить идентификаторы пользователей пользователей в этой группе
  4. с помощью идентификаторов пользователя получают назначенные им токены FCM
  5. отправлять уведомления с помощью токена.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...