I am using following function in my firebase functions, but i am unable to handle promises correctly.
export const addNewMember_v0 = functions.https.onCall( async (data, context) => {
if(context.auth){
const memberName = data.memberName;
const phone = data.phone;
try {
const querySnapshot = await db.collectionGroup('memberPrivate')
.where('phone', '==', phone).get();
if (querySnapshot === null) {
const batch = db.batch();
const memberDoc = db.collection('members').doc();
const memberPrivateDoc = memberDoc.collection("memberPrivate").doc("info");
batch.set(
memberDoc,
{'memberName':memberName},
);
batch.set(
memberPrivateDoc,
{'memberName':memberName}
);
Promise.resolve(batch.commit());
return {available: true, phone: phone, success: true};
} else {
return {available: false, phone: phone, success: false};
}
}
catch(error) {
console.log(error);
return {error: error, success: false};
}
} else {
return {error: "Not Authenticated", success: false};
}
});
When i am deploying this code using firebase deploy
, i am getting this error: Promises must be handled appropriately
What should i change to handle promises correctly?
I read many docs about how to handle Promises, but i haven't been able to do it. If you could help, it would be really great.