131 lines
5.2 KiB
PHP
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());
|
|
}
|
|
}
|