// Test admin password verification import * as dotenv from 'dotenv'; import path from 'node:path'; import fs from 'node:fs'; const envPaths = [ path.resolve(process.cwd(), '.env.local'), path.resolve(process.cwd(), '.env'), path.resolve(__dirname, '..', '.env.local'), path.resolve(__dirname, '..', '.env'), ]; for (const envPath of envPaths) { if (fs.existsSync(envPath)) { dotenv.config({ path: envPath }); break; } } import { PrismaClient } from '@prisma/client'; import { compare } from 'bcryptjs'; const prisma = new PrismaClient(); async function testPassword() { const username = 'admin'; const testPassword = process.env.ADMIN_PASSWORD || '*MrV0D0cy#'; try { const admin = await prisma.admin.findUnique({ where: { username }, }); if (!admin) { console.error('āŒ Admin user not found!'); return; } console.log(`āœ… Admin user found: ${username}`); console.log(`šŸ“ Testing password: ${testPassword}`); console.log(`šŸ” Stored hash: ${admin.password.substring(0, 20)}...`); const isValid = await compare(testPassword, admin.password); if (isValid) { console.log('āœ… Password verification: SUCCESS'); } else { console.log('āŒ Password verification: FAILED'); console.log('\nšŸ’” Try running: npm run admin:reset-password'); } } catch (error) { console.error('āŒ Error:', error); } finally { await prisma.$disconnect(); } } testPassword();