feat: Use Enums for Roles
This commit is contained in:
15
app/Enums/RolesEnum.php
Normal file
15
app/Enums/RolesEnum.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
namespace App\Enums;
|
||||
|
||||
enum RolesEnum: string
|
||||
{
|
||||
case SUPERADMIN = 'super-admin';
|
||||
|
||||
// extra helper to allow for greater customization of displayed values, without disclosing the name/value data directly
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
static::SUPERADMIN => 'Super Admin',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Enums\RolesEnum;
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
@@ -15,6 +16,6 @@ class PermissionSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$superAdminRole = Role::create(['name' => 'super-admin']);
|
||||
$superAdminRole = app(Role::class)->findOrCreate(RolesEnum::SUPERADMIN->value, 'web');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user