Spaces:
Running
Running
| 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; | |
| } | |
| }); |