Итак, я пишу функцию Firebase. Все идет нормально. Я возвращаю функцию чередования, которая имеет функцию обратного вызова, где я возвращаю объект link
. Но в клиенте я получаю null
в качестве ответа.
Это мой код:
exports.handler = (data, context) => {
if (!context.auth)
// Throwing an HttpsError so that the client gets the error details.
throw new functions.https.HttpsError(
"failed-auth",
"Bitte melden Sie sich an"
);
if (!context.auth.token.email_verified)
throw new functions.https.HttpsError(
"failed-precondition",
"Bitte verifizieren Sie Ihre Email."
);
return db
.collection("userInformation")
.doc(context.auth.uid)
.get()
.then(user => {
if (!user)
throw new functions.https.HttpsError(
"failed-precondition",
"Nutzer wurde nicht gefunden"
);
const userData = user.data();
if (!userData.stripeAccountId)
throw new functions.https.HttpsError(
"failed-precondition",
"Der Nutzer ist mit keinem Stripe Account verbunden"
);
return stripe.accounts.createLoginLink(
userData.stripeAccountId,
(err, link) => {
if(err) console.log(err);
console.log(link.url +" +TEST");
return link;
}
);
});
};
Так что я думаю, что проблема, если бы я мог .then()
метод нашивки, Я мог бы справиться с возвращением лучше. Но как мне сделать это с этим обратным вызовом?