You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.8 KiB
64 lines
1.8 KiB
<?php |
|
|
|
namespace Database\Seeders; |
|
|
|
use DB; |
|
|
|
use Illuminate\Database\Seeder; |
|
use App\Models\User; |
|
use Illuminate\Support\Str; |
|
use Spatie\Permission\Models\Role; |
|
use Spatie\Permission\Models\Permission; |
|
|
|
class UserRolePermissionSeeder extends Seeder |
|
{ |
|
/** |
|
* Run the database seeds. |
|
* |
|
* @return void |
|
*/ |
|
public function run() |
|
{ |
|
$default_user_value = [ |
|
'email_verified_at' => now(), |
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password |
|
'remember_token' => Str::random(10), |
|
]; |
|
|
|
DB::beginTransaction(); |
|
try { |
|
//code... |
|
|
|
|
|
$admin = User::create(array_merge([ |
|
'email' => 'admin@gmail.com', |
|
'name' => 'admin', |
|
], $default_user_value)); |
|
|
|
$staff = User::create(array_merge([ |
|
'email' => 'staff@gmail.com', |
|
'name' => 'staff', |
|
], $default_user_value)); |
|
|
|
$role_admin = Role::create(['name' => 'admin']); |
|
$role_staff = Role::create(['name' => 'staff']); |
|
|
|
$permission = Permission::create(['name' => 'read role']); |
|
$permission = Permission::create(['name' => 'create role']); |
|
$permission = Permission::create(['name' => 'update role']); |
|
$permission = Permission::create(['name' => 'delete role']); |
|
|
|
$role_admin->givePermissionTo('read role'); |
|
$role_admin->givePermissionTo('create role'); |
|
$role_admin->givePermissionTo('update role'); |
|
$role_admin->givePermissionTo('delete role'); |
|
|
|
$admin->assignRole('admin'); |
|
$staff->assignRole('staff'); |
|
|
|
DB::commit(); |
|
} catch (\Throwable $th) { |
|
throw $th; |
|
} |
|
} |
|
}
|
|
|