|
|
| 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 }; |
| } |
| }; |
|
|