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

60 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-11-23 14:04:20 +08:00
// 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();