не может взаимодействовать с firestore в моей функции вызываемого облака https - PullRequest
0 голосов
/ 21 декабря 2018

в моем облачном коде, в моей функции HTTPS Callable, как только я пытаюсь взаимодействовать с firestore, кажется, что все перестает работать.Моя функция в моем файле index.js:

exports.paymentInfoGiven = functions.https.onCall((data, context) => {
console.log(data);
console.log(context);

(async function() {
    // Create a Customer:
    const customer = await stripe.customers.create({
        source: data.tokenId,
        email: data.email,
    });
    admin.firestore().collection('users').doc(data.userId).update(
        {customerId: customer.id, givenPaymentInfo: true}
    ).then( 
        data => {
            console.log('it worked: ' + data);
        } // this logged 5 minutes after the above console.logs
    ).catch(
        err => {
            console.log('it didnt work1: ' + err);
        }
    );

    admin.firestore().collection('games').doc(data.gameId).collection('host').get()
        .then(
            hostCol => {
                hostCol.forEach(
                    host => {
                        if (data.userId === host.id) {
                            admin.firestore().collection('games').doc(data.userId)
                                .update({givenPaymentInfo: true})
                                .then(
                                    data => {
                                        console.log('worked' + data);
                                    }
                                )
                                .catch(
                                    err => {
                                        console.log('it didnt work2: ' + err);
                                    });
                        }
                    }
                );
            }
        )
        .catch(err => {
            console.log('it didnt work3: ' + err);
        });
})();
});

Приведенный выше код создает клиента на Stripe просто отлично.Он записывает первые две строки просто отлично и ЭТО ". Это не регистрирует вещи внутри .then () или .catch (), я не получаю никаких сообщений об ошибках (см. Изображение ниже), он развертывается просто отлично, когдая 'firebase deploy'. Не уверен, что происходит.

Мой импорт для моего файла index.js:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const stripe = require("stripe")("secret_key");

Мой код на стороне клиента, который вызывает вышеуказанную функцию:

import {AngularFireFunctions} from '@angular/fire/functions';
import {from, Observable, Subscription} from 'rxjs';

constructor(private fns: AngularFireFunctions) {}

uponGivingPaymentInfo(email: string, tokenId: string, userId: string, gameId: string): Observable<any> {
   const callable = this.fns.httpsCallable('paymentInfoGiven');
   return callable({tokenId: tokenId, email: email, userId: userId, gameId:gameId});
}

Журналы моего пожарного магазина после выполнения afterGivingPaymentInfo

Любая помощь очень ценится! Заранее спасибо!

...