From 36ebfdadd42f747b055cdcf5e3c1219d609a7722 Mon Sep 17 00:00:00 2001 From: amirghasempoor Date: Tue, 20 May 2025 10:30:27 +0330 Subject: [PATCH] add mutator for mission --- app/Enums/MissionStates.php | 2 +- .../V3/Dashboard/Mission/RequestPortalController.php | 4 ++-- app/Models/Mission.php | 8 ++++++++ .../2025_05_17_103927_create_missions_table.php | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/Enums/MissionStates.php b/app/Enums/MissionStates.php index 77dfaeaf..b72a5637 100644 --- a/app/Enums/MissionStates.php +++ b/app/Enums/MissionStates.php @@ -14,7 +14,7 @@ enum MissionStates: int public static function name(int $state): string { $mapArray = [ - 1 => 'درخواست ایجاد شد و در حال بررسی در توسط واحد نقلیه است', + 1 => 'درخواست ایجاد شد و در حال بررسی توسط واحد نقلیه است', 2 => 'خودرو اختصاص داده شد و درخواست توسط واحد کنترل در حال بررسی است', 3 => 'درخواست توسط واحد کنترل تایید شد و ماموریت آغاز می شود', 4 => 'اتمام ماموریت', diff --git a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php index f93419ae..a1fbd21a 100644 --- a/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php +++ b/app/Http/Controllers/V3/Dashboard/Mission/RequestPortalController.php @@ -36,7 +36,7 @@ class RequestPortalController extends Controller 'edare_shahri_name'=> $user->edare_shahri_name ?? null, 'state_id' =>$state, 'state_name' => MissionStates::name($state), - 'requested_machines' => $request->requested_machines, + 'requested_machines' => json_encode($request->requested_machines), 'type' => $request->type, 'start_date' => $request->start_date, 'end_date' => $request->end_date, @@ -63,7 +63,7 @@ class RequestPortalController extends Controller $mission->update([ 'state_id' =>$state, 'state_name' => MissionStates::name($state), - 'requested_machines' => $request->requested_machines, + 'requested_machines' => json_encode($request->requested_machines), 'type' => $request->type, 'start_date' => $request->start_date, 'end_date' => $request->end_date, diff --git a/app/Models/Mission.php b/app/Models/Mission.php index 28ba82eb..7ff42e75 100644 --- a/app/Models/Mission.php +++ b/app/Models/Mission.php @@ -2,6 +2,7 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\MorphToMany; @@ -12,6 +13,13 @@ class Mission extends Model protected $guarded = []; + protected function requestedMachines(): Attribute + { + return Attribute::make( + get: fn ($value) => json_decode($value) + ); + } + public function roadItems(): MorphToMany { return $this->morphedByMany(RoadItemsProject::class, 'missionable'); diff --git a/database/migrations/2025_05_17_103927_create_missions_table.php b/database/migrations/2025_05_17_103927_create_missions_table.php index 6f80171c..25a60291 100644 --- a/database/migrations/2025_05_17_103927_create_missions_table.php +++ b/database/migrations/2025_05_17_103927_create_missions_table.php @@ -23,7 +23,7 @@ return new class extends Migration $table->string('province_name'); $table->unsignedBigInteger('edare_shahri_id')->nullable(); $table->foreign('edare_shahri_id')->references('id')->on('edarate_shahri')->noActionOnDelete(); - $table->string('edare_shahri_name'); + $table->string('edare_shahri_name')->nullable(); $table->json('requested_machines'); $table->string('type'); $table->dateTime('start_date');