mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 04:23:55 +00:00
105 lines
4.6 KiB
PHP
105 lines
4.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Spatie\Permission\Models\Role;
|
|
use Spatie\Permission\Models\Permission;
|
|
use App\Classes\ValueObjects\Constants as Constants;
|
|
use App\Models\User;
|
|
|
|
class AdminUserPermissionsTableSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
// Reset cached roles and permissions
|
|
app()['cache']->forget('spatie.permission.cache');
|
|
|
|
// admin permissions
|
|
Permission::create(['name' => 'view document', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add document', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit document', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete document', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view standard_segment', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add standard_segment', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit standard_segment', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete standard_segment', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view standard_segment_constant', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add standard_segment_constant', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit standard_segment_constant', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete standard_segment_constant', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view segment', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add segment', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit segment', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete segment', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view segment_constant', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add segment_constant', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit segment_constant', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete segment_constant', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view company_bank', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add company_bank', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit company_bank', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete company_bank', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view currency', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add currency', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit currency', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete currency', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view currency_rate', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add currency_rate', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit currency_rate', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete currency_rate', 'guard_name' => 'web']);
|
|
|
|
Permission::create(['name' => 'view booking', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'add booking', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'edit booking', 'guard_name' => 'web']);
|
|
Permission::create(['name' => 'delete booking', 'guard_name' => 'web']);
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
$shadow_admin_role = Role::updateOrCreate(
|
|
['name' => 'Shadow Admin'],
|
|
[
|
|
'name' => 'Shadow Admin',
|
|
'guard_name' => 'web',
|
|
'type' => 1,
|
|
]
|
|
);
|
|
|
|
$shadow_admin_role->givePermissionTo(Permission::all());
|
|
|
|
//Since same set of permissions, do it one-go at end
|
|
//$admin = User::find(1);
|
|
//$admin->assignRole($shadow_admin_role);
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
|
|
$ultimate_admin_role = Role::updateOrCreate(
|
|
['name' => 'Ultimate Admin'],
|
|
[
|
|
'name' => 'Ultimate Admin',
|
|
'guard_name' => 'web',
|
|
'type' => 1,
|
|
]
|
|
);
|
|
|
|
$ultimate_admin_role->givePermissionTo(Permission::all());
|
|
|
|
$admins = User::query()->whereIn('type',Constants\RoleTypes::ADMIN_ROLES)->get();
|
|
foreach ($admins as $admin) {
|
|
$admin->assignRole($ultimate_admin_role);
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////
|
|
}
|
|
}
|