File size: 1,123 Bytes
e18d8f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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;
        }
    });