update deploy

This commit is contained in:
bulut
2026-03-27 10:41:54 +03:00
parent 69d19c0176
commit 6f6448aa06
422 changed files with 37956 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
use Spatie\Permission\PermissionRegistrar;
class RolePermissionSeeder extends Seeder
{
/**
* Modellere göre tanımlanacak permission grupları.
*
* @var list<string>
*/
private const MODULES = [
'category',
'course',
'schedule',
'announcement',
'hero-slide',
'lead',
'menu',
'comment',
'faq',
'guide-card',
'setting',
'page',
'user',
'role',
];
/**
* Her modül için oluşturulacak CRUD aksiyonlar.
*
* @var list<string>
*/
private const ACTIONS = ['view', 'create', 'update', 'delete'];
/**
* Editor rolüne verilmeyecek aksiyonlar.
*
* @var list<string>
*/
private const EDITOR_EXCLUDED_ACTIONS = ['delete'];
/**
* Run the database seeds.
*/
public function run(): void
{
app()[PermissionRegistrar::class]->forgetCachedPermissions();
$allPermissions = [];
$editorPermissions = [];
foreach (self::MODULES as $module) {
foreach (self::ACTIONS as $action) {
$permissionName = "{$action}-{$module}";
Permission::firstOrCreate(['name' => $permissionName, 'guard_name' => 'web']);
$allPermissions[] = $permissionName;
if (! in_array($action, self::EDITOR_EXCLUDED_ACTIONS)) {
$editorPermissions[] = $permissionName;
}
}
}
// super-admin: tüm yetkiler
$superAdmin = Role::firstOrCreate(['name' => 'super-admin', 'guard_name' => 'web']);
$superAdmin->syncPermissions($allPermissions);
// editor: silme hariç tüm yetkiler
$editor = Role::firstOrCreate(['name' => 'editor', 'guard_name' => 'web']);
$editor->syncPermissions($editorPermissions);
}
}