feat: tambah seeder roles & super_admin, widget dashboard stats

This commit is contained in:
2026-04-03 04:27:07 +07:00
parent aef6978b2a
commit 8675c14f15
12 changed files with 672 additions and 13 deletions
@@ -0,0 +1,34 @@
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
class RolesAndPermissionsSeeder extends Seeder
{
public function run(): void
{
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
$roles = ['super_admin', 'ketua', 'bendahara', 'pengurus', 'anggota', 'auditor'];
foreach ($roles as $role) {
Role::firstOrCreate(['name' => $role, 'guard_name' => 'web']);
}
// super_admin mendapat semua permission via Shield config
$superAdmin = User::firstOrCreate(
['email' => 'admin@persegi.id'],
[
'name' => 'Super Admin',
'password' => bcrypt('password'),
'phone' => '08123456789',
'status' => 'aktif',
]
);
$superAdmin->assignRole('super_admin');
}
}