![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.quebec/public_html/scripts/ |
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function checkRoles() {
try {
console.log('š Checking database roles...\n');
// Get all unique roles in the database
const users = await prisma.user.findMany({
select: {
id: true,
email: true,
name: true,
role: true,
createdAt: true
},
orderBy: {
createdAt: 'desc'
}
});
console.log('š All users and their roles:');
console.log('='.repeat(80));
users.forEach((user, index) => {
console.log(`${index + 1}. ${user.email} (${user.name || 'No name'})`);
console.log(` Role: "${user.role}" (type: ${typeof user.role})`);
console.log(` ID: ${user.id}`);
console.log(` Created: ${user.createdAt.toISOString()}`);
console.log('');
});
// Get unique roles
const uniqueRoles = Array.from(new Set(users.map(user => user.role)));
console.log('š Unique roles found in database:');
console.log('='.repeat(40));
uniqueRoles.forEach(role => {
const count = users.filter(user => user.role === role).length;
console.log(`"${role}": ${count} users`);
});
console.log('\nš§ Expected roles from auth-utils:');
console.log('='.repeat(40));
const expectedRoles = [
'SUPERADMIN', 'ADMIN', 'LAWYER', 'JURIST', 'JUDGE',
'MEDIATOR', 'LEGAL_CONSULTANT', 'INVESTIGATOR',
'EXPERT_WITNESS', 'NOTARY', 'USER', 'CLIENT',
'LAW_STUDENT', 'LEGAL_INTERN', 'SECRETARY',
'ASSISTANT', 'CLERK', 'COURT_CLERK', 'PARALEGAL'
];
expectedRoles.forEach(role => {
const count = users.filter(user => user.role === role).length;
console.log(`"${role}": ${count} users`);
});
// Check for any mismatched roles
const mismatchedRoles = uniqueRoles.filter(role => !expectedRoles.includes(role));
if (mismatchedRoles.length > 0) {
console.log('\nā ļø WARNING: Found roles not in expected list:');
console.log('='.repeat(50));
mismatchedRoles.forEach(role => {
console.log(`"${role}"`);
});
}
} catch (error) {
console.error('ā Error checking roles:', error);
} finally {
await prisma.$disconnect();
}
}
checkRoles();