fusero-app-boilerplate/src/database/seeds/RoleSeed.ts
2025-04-29 07:51:17 +02:00

26 lines
812 B
TypeScript

import { EntityManager } from '@mikro-orm/core';
import { UserRole } from '@/apps/_app/entities/user/UserRole';
import { PLATFORMROLES } from '@/constants/roles';
export class RoleSeed {
constructor(private readonly em: EntityManager) {}
async run() {
console.log('Seeding roles...');
const roles = Object.values(PLATFORMROLES);
for (const roleName of roles) {
const existingRole = await this.em.findOne(UserRole, { name: roleName });
if (!existingRole) {
const role = new UserRole();
role.name = roleName;
await this.em.persistAndFlush(role);
console.log(`Created role: ${roleName}`);
}
}
console.log('Role seeding completed!');
}
}