Spaces:
Sleeping
Sleeping
import { NextResponse } from 'next/server'; | |
export async function POST(request: Request) { | |
try { | |
const { password, name, email } = await request.json(); | |
const userPassword = process.env.USER_PASSWORD || 'demo'; | |
const adminPassword = process.env.ADMIN_PASSWORD || 'admin'; | |
const adminName = process.env.ADMIN_NAME || 'Admin'; | |
const adminEmail = process.env.ADMIN_EMAIL || 'admin@example.com'; | |
// Verify credentials first | |
let isValidUser = false; | |
let isDeveloper = false; | |
if (password === userPassword) { | |
isValidUser = true; | |
} else if (password === adminPassword && name === adminName && email === adminEmail) { | |
isValidUser = true; | |
isDeveloper = true; | |
} | |
if (!isValidUser) { | |
return NextResponse.json( | |
{ error: 'Invalid credentials' }, | |
{ status: 401 } | |
); | |
} | |
// Only return what's needed for the authenticated user | |
return NextResponse.json({ | |
success: true, | |
isDeveloper, | |
adminName: isDeveloper ? adminName : undefined, | |
adminEmail: isDeveloper ? adminEmail : undefined, | |
}); | |
} catch (error) { | |
console.error('Error verifying credentials:', error); | |
return NextResponse.json( | |
{ error: 'Authentication failed' }, | |
{ status: 500 } | |
); | |
} | |
} | |