Files
KanbanGit/database/seeders/ProjectAccessSeeder.php
T
2026-04-12 19:21:04 +02:00

49 lines
1.4 KiB
PHP

<?php
namespace Database\Seeders;
use App\Enums\Permission;
use App\Models\PermissionAssignment;
use App\Models\Project;
use App\Models\Team;
use App\Models\User;
use Illuminate\Database\Seeder;
class ProjectAccessSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$coreProject = Project::query()->where('key', 'CORE')->first();
$deliveryTeam = Team::query()->where('name', 'Delivery Team')->first();
$platformTeam = Team::query()->where('name', 'Platform Team')->first();
$testUser = User::query()->where('email', 'test@example.com')->first();
if ($coreProject !== null && $platformTeam !== null) {
PermissionAssignment::factory()
->forAssignee($platformTeam)
->forScope($coreProject)
->projectWrite()
->create();
}
if ($platformTeam !== null && $testUser !== null) {
PermissionAssignment::factory()
->forAssignee($testUser)
->forScope($platformTeam)
->teamManage()
->create();
}
if ($deliveryTeam !== null && $testUser !== null) {
PermissionAssignment::factory()
->forAssignee($testUser)
->forScope($deliveryTeam)
->permission(Permission::TeamInvite)
->create();
}
}
}