import { PrismaClient } from '@prisma/client'; import { PLATFORM_ROLE_CODE, PLATFORM_TENANT_CODE } from '../src/common/constants.js'; import { initTenant } from '../src/common/tenant-template.js'; const prisma = new PrismaClient(); const TENANT = PLATFORM_TENANT_CODE; const SUPER_ROLE = PLATFORM_ROLE_CODE; const ADMIN_USERNAME = 'touyun'; const ADMIN_PASSWORD = 'Touyun@123'; async function main(): Promise { // 1. 平台租户 await prisma.tenant.upsert({ where: { code: TENANT }, update: { name: '投云', status: 'enabled' }, create: { code: TENANT, name: '投云', status: 'enabled' }, }); // 2. 平台租户初始化(根组织 + 超管角色 + 管理员 + 全量资源 + 内置字典 + 授权) await initTenant({ prisma, tenantCode: TENANT, tenantName: '投云', adminRoleCode: SUPER_ROLE, adminRoleName: '超级管理员', adminUsername: ADMIN_USERNAME, adminPassword: ADMIN_PASSWORD, includePlatformPerms: true, }); console.log(`seed 完成:平台租户 ${TENANT}、用户 ${ADMIN_USERNAME}、角色 ${SUPER_ROLE}。`); } main() .catch((e) => { console.error(e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });