Add initial project files
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
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])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user