library-picturebook-activity/backend/scripts/verify-admin.js

65 lines
1.8 KiB
JavaScript
Raw Normal View History

2025-11-23 14:04:20 +08:00
const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
async function verifyAdmin() {
try {
const user = await prisma.user.findUnique({
where: { username: 'admin' },
include: {
roles: {
include: {
role: {
include: {
permissions: {
include: {
permission: true,
},
},
},
},
},
},
},
});
if (user) {
console.log('\n✅ 验证结果:');
console.log(`用户名: ${user.username}`);
console.log(`昵称: ${user.nickname}`);
console.log(`邮箱: ${user.email || '未设置'}`);
console.log(`状态: ${user.validState === 1 ? '有效' : '失效'}`);
console.log(`\n角色列表:`);
user.roles.forEach((ur) => {
console.log(` - ${ur.role.name} (${ur.role.code})`);
console.log(` 权限数量: ${ur.role.permissions.length}`);
});
const allPermissions = new Set();
user.roles.forEach((ur) => {
ur.role.permissions.forEach((rp) => {
allPermissions.add(rp.permission.code);
});
});
console.log(`\n总权限数: ${allPermissions.size}`);
console.log(`\n权限列表 (前10个):`);
Array.from(allPermissions).sort().slice(0, 10).forEach((perm) => {
console.log(` - ${perm}`);
});
if (allPermissions.size > 10) {
console.log(` ... 还有 ${allPermissions.size - 10} 个权限`);
}
} else {
console.log('❌ 未找到 admin 用户');
}
} catch (error) {
console.error('验证失败:', error.message);
} finally {
await prisma.$disconnect();
}
}
verifyAdmin();