65 lines
1.8 KiB
JavaScript
65 lines
1.8 KiB
JavaScript
|
|
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();
|
||
|
|
|
||
|
|
|