import { db } from '@/backend/services/firebase'; export const AdminService = { async updateSettings(settings) { await db.ref('system/settings').update(settings); return { success: true }; }, async addUser(userData, referrerCode) { const membershipId = userData.Active_Session_ID; const userPayload = { ...userData, Login_Key: membershipId, Active_Session_ID: membershipId, Referrer: referrerCode || "NONE", Status: 'ACTIVE', Usage: {}, Last_Usage_Date: new Date().toISOString().split('T')[0] }; await db.ref(`users/${Date.now()}`).set(userPayload); return { success: true }; }, async reactivateUser(nodeKey, userClass, credits) { const today = new Date(); const expDate = new Date(today.getTime() + 30 * 86400000).toISOString().split('T')[0]; const updates = { Class: userClass, Credits: credits, Expired_Date: expDate, Status: 'ACTIVE' }; await db.ref(`users/${nodeKey}`).update(updates); return { success: true }; }, async updateUserClass(nodeKey, userClass, credits) { const updates = { Class: userClass, Credits: credits }; await db.ref(`users/${nodeKey}`).update(updates); return { success: true }; }, async topUpCredits(sessionId, amount) { const snapshot = await db.ref('users').orderByChild('Active_Session_ID').equalTo(sessionId).once('value'); if (!snapshot.exists()) throw new Error("User not found"); const userKey = Object.keys(snapshot.val())[0]; const currentCredits = snapshot.val()[userKey].Credits || 0; await db.ref(`users/${userKey}`).update({ Credits: currentCredits + amount }); return { success: true }; }, async deleteUser(nodeKey) { await db.ref(`users/${nodeKey}`).remove(); return { success: true }; } };