Files
portal-api/database/seeders/RolesAndPermissions.php
T
2025-07-24 16:18:27 +07:00

131 lines
5.2 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class RolesAndPermissions extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Reset cached roles and permissions
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
// create client permissions
Permission::create(['name' => 'manager customer']);
Permission::create(['name' => 'add customer']);
Permission::create(['name' => 'edit customer']);
Permission::create(['name' => 'delete customer']);
// create admin permissions
Permission::create(['name' => 'manager administrator']);
Permission::create(['name' => 'add administrator']);
Permission::create(['name' => 'edit administrator']);
Permission::create(['name' => 'delete administrator']);
// create product permissions
Permission::create(['name' => 'manager product']);
Permission::create(['name' => 'add product']);
Permission::create(['name' => 'edit product']);
Permission::create(['name' => 'delete product']);
// create order permissions
Permission::create(['name' => 'manager order']);
Permission::create(['name' => 'add order']);
Permission::create(['name' => 'edit order']);
Permission::create(['name' => 'delete order']);
// create invoice permissions
Permission::create(['name' => 'manager invoice']);
Permission::create(['name' => 'add invoice']);
Permission::create(['name' => 'edit invoice']);
Permission::create(['name' => 'delete invoice']);
// Create Coupon Permissions
Permission::create(['name' => 'manager coupon']);
Permission::create(['name' => 'add coupon']);
Permission::create(['name' => 'edit coupon']);
Permission::create(['name' => 'delete coupon']);
// Create post Permissions
Permission::create(['name' => 'manager post']);
Permission::create(['name' => 'add post']);
Permission::create(['name' => 'edit post']);
Permission::create(['name' => 'delete post']);
// Create support Permissions
Permission::create(['name' => 'manager support']);
Permission::create(['name' => 'add support']);
Permission::create(['name' => 'edit support']);
Permission::create(['name' => 'delete support']);
// Create Payment Permissions
Permission::create(['name' => 'manager payment']);
Permission::create(['name' => 'add payment']);
Permission::create(['name' => 'edit payment']);
Permission::create(['name' => 'delete payment']);
// create module dns permissions
Permission::create(['name' => 'manager module dns']);
Permission::create(['name' => 'add module dns']);
Permission::create(['name' => 'edit module dns']);
Permission::create(['name' => 'delete module dns']);
// create module hosting permissions
Permission::create(['name' => 'manager module hosting']);
Permission::create(['name' => 'add module hosting']);
Permission::create(['name' => 'edit module hosting']);
Permission::create(['name' => 'delete module hosting']);
// create module vcenter permissions
Permission::create(['name' => 'manager module vcenter']);
Permission::create(['name' => 'add module vcenter']);
Permission::create(['name' => 'edit module vcenter']);
Permission::create(['name' => 'delete module vcenter']);
// create package permissions
Permission::create(['name' => 'manager package module']);
Permission::create(['name' => 'add package module']);
Permission::create(['name' => 'edit package module']);
Permission::create(['name' => 'delete package module']);
// create email template permissions
Permission::create(['name' => 'manager email template']);
Permission::create(['name' => 'add email template']);
Permission::create(['name' => 'edit email template']);
Permission::create(['name' => 'delete email template']);
// create setting permissions
Permission::create(['name' => 'manager setting']);
Permission::create(['name' => 'manager smtp']);
Permission::create(['name' => 'manager auto banking']);
Permission::create(['name' => 'manager system log']);
// create role permissions
Permission::create(['name' => 'manager role']);
Permission::create(['name' => 'add role']);
Permission::create(['name' => 'edit role']);
Permission::create(['name' => 'delete role']);
// Create Menu Permissions
Permission::create(['name' => 'manager menu']);
Permission::create(['name' => 'add menu']);
Permission::create(['name' => 'edit menu']);
Permission::create(['name' => 'delete menu']);
// this can be done as separate statements
$role = Role::find(1);
$role->givePermissionTo(Permission::all());
}
}