60 lines
1.5 KiB
TypeScript
60 lines
1.5 KiB
TypeScript
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-nocheck
|
|
import { PrismaClient } from '@prisma/client';
|
|
const prisma = new PrismaClient();
|
|
|
|
async function verifyAdmin() {
|
|
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<string>();
|
|
user.roles.forEach((ur) => {
|
|
ur.role.permissions.forEach((rp) => {
|
|
allPermissions.add(rp.permission.code);
|
|
});
|
|
});
|
|
|
|
console.log(`\n总权限数: ${allPermissions.size}`);
|
|
console.log(`\n权限列表:`);
|
|
Array.from(allPermissions)
|
|
.sort()
|
|
.forEach((perm) => {
|
|
console.log(` - ${perm}`);
|
|
});
|
|
} else {
|
|
console.log('❌ 未找到 admin 用户');
|
|
}
|
|
|
|
await prisma.$disconnect();
|
|
}
|
|
|
|
verifyAdmin();
|