import { PrismaClient as PrismaClientAuth } from '../node_modules/.prisma/client-auth'; import * as dotenv from 'dotenv'; dotenv.config(); const prismaAuth = new PrismaClientAuth({ datasourceUrl: process.env.DATABASE_URL_AUTH, }); async function verifyAllUsers() { try { console.log('šŸ” Finding all users...\n'); const allUsers = await prismaAuth.user.findMany({ select: { id: true, email: true, name: true, emailVerified: true, createdAt: true, }, orderBy: { createdAt: 'desc', }, }); if (allUsers.length === 0) { console.log('āœ… No users found.'); return; } console.log(`Found ${allUsers.length} user(s):\n`); allUsers.forEach((user, index) => { const status = user.emailVerified ? 'āœ… Verified' : 'āŒ Unverified'; console.log(`${index + 1}. ${user.email} (${user.name}) - ${status} - Created: ${user.createdAt}`); }); // Verify all users console.log('\nāœ… Verifying all users (force confirm)...\n'); const result = await prismaAuth.user.updateMany({ data: { emailVerified: true, emailConfirmationToken: null, emailConfirmationTokenExpiry: null, }, }); console.log(`āœ… Successfully verified ${result.count} user(s)!`); console.log('\nšŸŽ‰ All users can now log in without email verification.'); } catch (error: any) { console.error('āŒ Error:', error.message); if (error.message?.includes('email_verified')) { console.error('\nāš ļø Database migration may not have been run!'); console.error(' Run: sudo -u postgres psql -d punimtag_auth -f migrations/add-email-verification-columns.sql'); } process.exit(1); } finally { await prismaAuth.$disconnect(); } } verifyAllUsers();