bigbossmonster's picture
Upload 24 files
ea81969 verified
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 };
}
};