Как запрограммировать Firebase Cloud Functions для перебора массива ссылок? - PullRequest
0 голосов
/ 19 мая 2019

Я довольно новичок в облачных функциях на Firebase и пытаюсь запрограммировать некоторый код для перебора массива ссылок на документы, которые были загружены из Firestore.

Массив хранится в моем Firestore и содержит ссылки на каждого пользователя-администратора в моей коллекции пользователей.Каждый из этих пользователей имеет в своем документе поле со своим токеном обмена сообщениями, которое мне нужно для отправки сообщения.Мне удалось получить код для отправки уведомления на токен, который я определяю как константу в коде, но мне не повезло, отправка токенов, хранящихся в базе данных.

Вот мой коддо сих пор;

const functions = require('firebase-functions');

const admin = require('firebase-admin');

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

// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
// exports.helloWorld = functions.https.onRequest((request, response) => {
//  response.send("Hello from Firebase!");
// });

exports.notifyNewReport = functions.firestore
    .document('admin/reportsToReview')
    .onUpdate((change, context) => {
        console.log('Change to doc function registered');
      // Get an object representing the document
      const newValueReports = change.after.data().reports;

      // ...or the previous value before this update
      const previousValueReports = change.before.data().reports;


      if (newValueReports.length > previousValueReports.length) {
        console.log('Report added to review list');

        var adminsArray = ""

        admin.firestore()
            .collection('admin')
            .doc('admins')
            .get()
            .then(doc => {
                adminsArray = doc.data().admins
                return console.log('Found admin UID: ' + adminsArray);
            })
            .catch(error => {
                console.error(error);
                res.error(500);
            });


        //Code to get send notification to each device


        console.log("Construct the notification message.");
        var message = {
            notification: {
                body: 'There are new reports to review!',
            },
        token: token
        };

        admin.messaging().send(message)

      } 

    });

Если кто-нибудь может указать мне в правильном направлении, это было бы очень признательно!:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...