feat: add spatie/laravel-permission & its implementation at panel
This commit is contained in:
@@ -16,6 +16,7 @@ class DatabaseSeeder extends Seeder
|
||||
// User::factory(10)->create();
|
||||
|
||||
$this->call([
|
||||
RoleSeeder::class,
|
||||
FilamentAdminSeeder::class,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ use App\Models\User;
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Spatie\Permission\Models\Role;
|
||||
|
||||
class FilamentAdminSeeder extends Seeder
|
||||
{
|
||||
@@ -14,11 +15,13 @@ class FilamentAdminSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
User::factory()->create([
|
||||
$user = User::factory()->create([
|
||||
'name' => 'Admin',
|
||||
'email' => 'admin@example.com',
|
||||
'password' => Hash::make('password'),
|
||||
'email_verified_at' => now(),
|
||||
]);
|
||||
|
||||
$user->assignRole('admin');
|
||||
}
|
||||
}
|
||||
|
||||
26
database/seeders/RoleSeeder.php
Normal file
26
database/seeders/RoleSeeder.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?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 RoleSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$role = Role::findOrCreate(name: 'admin', guardName: 'web');
|
||||
Role::findOrCreate(name: 'user', guardName: 'web');
|
||||
|
||||
$permissionManageMails = Permission::findOrCreate(name: 'manage mails', guardName: 'web');
|
||||
$role->givePermissionTo($permissionManageMails);
|
||||
|
||||
$permissionManageFilamentPanel = Permission::findOrCreate(name: 'manage panels', guardName: 'web');
|
||||
$role->givePermissionTo($permissionManageFilamentPanel);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user