<?php namespace App\Models\Enums; use App\Models\Asset; use App\Models\Container; use App\Models\Plan; use App\Models\Project; use App\Models\Requirement; use App\Models\Task; use App\Services\History\Detector\AssetDetector; use App\Services\History\Detector\ContainerContentDetector; use App\Services\History\Detector\ContainerDetector; use App\Services\History\Detector\ProjectDetector; use App\Services\History\Detector\RequirementDetector; use App\Services\History\Detector\TaskDetector; enum ApprovalFlowObjectType: string { case PROJECT = "project"; public function modelBuilder(): \Illuminate\Database\Eloquent\Builder { return match ($this) { self::PROJECT => Project::query(), }; } public function modelBuilderAllowed(string $id = null): \Illuminate\Database\Eloquent\Builder { return match ($this) { self::PROJECT => Project::query()->allowed($id), }; } }