From a8613436256650bb8f5e1c848ec0e7b461a5fddf Mon Sep 17 00:00:00 2001 From: joddyabott Date: Wed, 11 Jun 2025 10:30:56 +0330 Subject: [PATCH] chenge and debug mission code --- app/Enums/MissionTypes.php | 19 +++++++++++++++++++ .../Mission/RequestPortalController.php | 13 +++---------- .../V3/Mission/RequestPortal/StoreRequest.php | 3 +-- .../Mission/RequestPortal/UpdateRequest.php | 3 +-- app/Models/Mission.php | 9 ++++++++- ...6_10_093806_add_area_to_missions_table.php | 2 +- 6 files changed, 33 insertions(+), 16 deletions(-) create mode 100644 app/Enums/MissionTypes.php diff --git a/app/Enums/MissionTypes.php b/app/Enums/MissionTypes.php new file mode 100644 index 00000000..e19472cf --- /dev/null +++ b/app/Enums/MissionTypes.php @@ -0,0 +1,19 @@ + 'ساعتی', + 2 => 'روزانه', + ]; + + return $mapArray[$state]; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index 75715a62..5eb3b136 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\V3\Dashboard\Mission; use App\Enums\MissionStates; +use App\Enums\MissionTypes; use App\Http\Controllers\Controller; use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest; use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest; @@ -27,10 +28,6 @@ class RequestPortalController extends Controller DB::transaction(function () use ($request) { $user = auth()->user(); $state = MissionStates::REQUEST_CREATED->value; - $geojson = [ - 'type' => 'Polygon', - 'coordinates' => [$request->area] - ]; $mission = Mission::query()->create([ 'user_id' => $user->id, @@ -48,7 +45,7 @@ class RequestPortalController extends Controller 'request_date' => now(), 'description' => $request->description, 'end_point' => $request->end_point, - 'area' => json_encode($geojson) + 'area' => json_encode($request->area), ]); $mission->rahdaran()->attach($request->rahdaran); @@ -66,10 +63,6 @@ class RequestPortalController extends Controller { DB::transaction(function () use ($mission, $request) { $state = MissionStates::REQUEST_CREATED->value; - $geojson = [ - 'type' => 'Polygon', - 'coordinates' => [$request->area] - ]; $mission->update([ 'state_id' => $state, 'state_name' => MissionStates::name($state), @@ -80,7 +73,7 @@ class RequestPortalController extends Controller 'request_date' => $request->request_date, 'description' => $request->description, 'end_point' => $request->end_point, - 'area' => json_encode($geojson) + 'area' => json_encode($request->area), ]); $mission->rahdaran()->sync($request->rahdaran); diff --git a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php index 6f646530..98dcda6b 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/StoreRequest.php @@ -25,10 +25,9 @@ class StoreRequest extends FormRequest 'rahdaran' => 'required|array', 'rahdaran.*' => 'exists:rahdaran,id', 'requested_machines' => 'required|array', - 'type' => 'required|string|max:50', + 'type' => 'required|in:1,2', 'start_date' => 'required|date', 'end_date' => 'required|date', - 'request_date' => 'required|date', 'description' => 'string', 'end_point' => 'required|string', 'area' => 'required|array', diff --git a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php index 790e5e48..4135ffa8 100644 --- a/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php +++ b/app/Http/Requests/V3/Mission/RequestPortal/UpdateRequest.php @@ -26,10 +26,9 @@ class UpdateRequest extends FormRequest 'rahdaran' => 'required|array', 'rahdaran.*' => 'exists:rahdaran,id', 'requested_machines' => 'required|array', - 'type' => 'required|string|max:50', + 'type' => 'required|in:1,2', 'start_date' => 'required|date', 'end_date' => 'required|date', - 'request_date' => 'required|date', 'description' => 'string', 'end_point' => 'required|string', 'area' => 'required|array', diff --git a/app/Models/Mission.php b/app/Models/Mission.php index 3f169f16..c2dcb959 100644 --- a/app/Models/Mission.php +++ b/app/Models/Mission.php @@ -17,7 +17,14 @@ class Mission extends Model protected function requestedMachines(): Attribute { return Attribute::make( - get: fn ($value) => json_decode($value) + get: fn($value) => json_decode($value) + ); + } + + protected function area(): Attribute + { + return Attribute::make( + get: fn($value) => json_decode($value) ); } diff --git a/database/migrations/2025_06_10_093806_add_area_to_missions_table.php b/database/migrations/2025_06_10_093806_add_area_to_missions_table.php index 5676e4cf..cf421da3 100644 --- a/database/migrations/2025_06_10_093806_add_area_to_missions_table.php +++ b/database/migrations/2025_06_10_093806_add_area_to_missions_table.php @@ -12,7 +12,7 @@ return new class extends Migration public function up(): void { Schema::table('missions', function (Blueprint $table) { - $table->geometry('area'); + $table->json('area'); }); }