addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { const url = new URL(request.url); const path = url.pathname; if (request.method === 'POST') { if (path === '/api/login') return handleLogin(request); if (path === '/api/save-progress') return handleSaveProgress(request); if (path === '/api/load-progress') return handleLoadProgress(request); if (path === '/api/admin') return handleAdmin(request); } return new Response(getHTML(), { headers: { 'Content-Type': 'text/html;charset=UTF-8' } }); } async function sha256(str) { const msgBuffer = new TextEncoder().encode(str); const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer); const hashArray = Array.from(new Uint8Array(hashBuffer)); return hashArray.map(b => b.toString(16).padStart(2, '0')).join(''); } async function handleLogin(request) { const body = await request.json(); const { id, pass } = body; const hashedPass = await sha256(pass); const users = { 'prince': { passHash: await sha256('1602'), name: 'PRANJAL', title: "PRINCE EMPIRE", isOriginal: true, priority: "I AM THE MAN WHO COMMANDS HIMSELF…" }, 'abhay': { passHash: await sha256('2001'), name: 'Abhay Garg', title: "Abhay's Empire", priority: "100 MCQs Daily + Weekly Mock + Choti Copy Revision" }, 'sakshi': { passHash: await sha256('1002'), name: 'Sakshi Singhal', title: "Sakshi's Empire", priority: "100 MCQs Daily + Weekly Mock + Choti Copy Revision" }, 'admin': { passHash: await sha256('2061'), isAdmin: true } }; if (users[id] && users[id].passHash === hashedPass) { const user = users[id]; return Response.json({ success: true, user: { id, name: user.name, title: user.title, priority: user.priority, isOriginal: !!user.isOriginal, isAdmin: !!user.isAdmin } }); } return Response.json({ success: false, error: 'Invalid credentials' }, { status: 401 }); } async function handleSaveProgress(request) { const body = await request.json(); const { userId, progress } = body; await EMPIRE_KV.put(`progress:${userId}`, JSON.stringify(progress)); return Response.json({ success: true }); } async function handleLoadProgress(request) { const body = await request.json(); const { userId } = body; const data = await EMPIRE_KV.get(`progress:${userId}`); return Response.json({ success: true, progress: data ? JSON.parse(data) : {} }); } async function handleAdmin(request) { const body = await request.json(); const { code, action } = body; if (code !== '2061') return Response.json({ success: false }, { status: 403 }); if (action === 'list-users') { return Response.json({ success: true, users: ['prince', 'abhay', 'sakshi'] }); } if (action === 'get-progress') { const { targetId } = body; const data = await EMPIRE_KV.get(`progress:${targetId}`); return Response.json({ success: true, progress: data ? JSON.parse(data) : {} }); } return Response.json({ success: false }); } function getHTML() { return `
Enter access code to proceed
👸 Diana · War Commander
Priority Target: