diff --git a/app/Enums/MissionCategory.php b/app/Enums/MissionCategory.php index 686135e9..fe36f026 100644 --- a/app/Enums/MissionCategory.php +++ b/app/Enums/MissionCategory.php @@ -4,17 +4,17 @@ namespace App\Enums; enum MissionCategory: int { - case ROAD_ITEM= 0; - case ROAD_PATROL = 1; - case ROAD_OBSERVATION = 2; + case ROAD_ITEM= 1; + case ROAD_PATROL = 2; + case ROAD_OBSERVATION = 3; public static function name(int $state): string { $mapArray = [ - 0 => "فعالیت روزانه", - 1 => "گشت راهداری", - 2 => "واکنش سریع", + 1 => "فعالیت روزانه", + 2 => "گشت راهداری", + 3 => "واکنش سریع", ]; return $mapArray[$state]; diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 9543f208..2ad75a05 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -58,6 +58,9 @@ class RequestPortalController extends Controller ]); $mission->rahdaran()->attach($request->rahdaran); + if ($request->category_id == 3){ + $mission->roadObserved()->attach($request->road_observed_id); + } }); return $this->successResponse(); diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index a5f8c37e..1c9018ae 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -35,8 +35,11 @@ class StoreRequest extends FormRequest 'description' => 'string', 'end_point' => 'required|string', 'area' => 'required|array', + 'area.type' => 'required|string', + 'area.coordinates' => 'required|array', 'explanation' => 'required|string', 'category_id' => 'required|in:1,2,3', + 'road_observed_id' => 'required_if:category_id,3|exists:road_observed,id', ]; } diff --git a/app/Models/Mission.php b/app/Models/Mission.php index ba3878ad..5e9408cd 100644 --- a/app/Models/Mission.php +++ b/app/Models/Mission.php @@ -67,8 +67,9 @@ class Mission extends Model 'rahdar_id', ); } - public function road_patrol():HasMany + + public function roadObserved(): MorphToMany { - return $this->hasMany(RoadPatrol::class); + return $this->morphToMany(RoadObserved::class, 'missionable'); } }