cointube / functions /index.js
dimensionalpulsar's picture
Upload functions/index.js
e18d8f3 verified
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.resetCoinsEveryFiveDays = functions.pubsub
.schedule('0 0 */5 * *')
.timeZone('America/Mexico_City')
.onRun(async (context) => {
const db = admin.firestore();
const adminEmail = "dimensionalpulsar@gmail.com";
try {
// Buscamos solo usuarios que NO sean el administrador
const snapshot = await db.collection('users')
.where('email', '!=', adminEmail)
.get();
if (snapshot.empty) return null;
const batch = db.batch();
snapshot.docs.forEach((userDoc) => {
batch.update(userDoc.ref, {
coins: 0,
lastReset: admin.firestore.FieldValue.serverTimestamp()
});
});
await batch.commit();
return null;
} catch (error) {
console.error("Error en el reseteo:", error);
return null;
}
});