import db from '@adonisjs/lucid/services/db' import Admins from '../../app/base_modules/Admin/model/admin.js' import Role from '../../app/base_modules/Role/model/role.js' import { getAllPermissions } from '#services/permission_service' export default class PermissionRoleSeeder { public async run() { const adminRole = await Role.updateOrCreate({ name: 'Super Admin' }, { name: 'Super Admin' }) const permissions = await getAllPermissions() const newPermissions = permissions.map((perm) => ({ role_id: adminRole.id, permission_slug: perm.slug, })) await db.from('role_permissions').where('role_id', adminRole.id).delete() await db.table('role_permissions').insert(newPermissions) const superAdmin = await Admins.firstOrCreate( { email: 'admin@admin.com' }, { email: 'admin@admin.com', password: '1234qqqq', status: 'active', firstName: 'Super', lastName: 'Admin', } ) await superAdmin.related('roles').sync([adminRole.id]) } }