firestore and cloud functions in same repository ? firestore code example
Example 1: simple firestore cloud function update document
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
export const resetCounter = functions.https.onRequest((req, res) => {
const resetRef = admin.firestore()
.collection('collectionName')
.doc('documentName')
resetRef.get().then((doc) => {
if(doc.exists){
resetRef.update({counter: 0})
.catch(err => {
console.log("Error",err)
res.send("500");
})
}
}).catch(err=>{
console.log("Error",err)
res.send("500");
});
res.send("200");
});
Example 2: firestore cloud function update documents
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
export const setProductsToExpired = functions.https.onRequest(async(request, response) => {
const expiredProducts = await admin.firestore()
.collection('products')
.where('timestamp','<=', admin.firestore.Timestamp.now())
.get();
const batch = admin.firestore().batch();
expiredProducts.forEach(doc => {
batch.update(doc.ref,'expired',true);
});
await batch.commit();
response.send("200");
});