create area for mission and asaynd geometry

This commit is contained in:
2025-06-09 15:45:51 +03:30
parent 6652ed7e19
commit 1b6870d7f4
5 changed files with 15 additions and 2 deletions

View File

@@ -27,6 +27,11 @@ 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,
'username' => $user->username,
@@ -43,6 +48,7 @@ class RequestPortalController extends Controller
'request_date' => now(),
'description' => $request->description,
'end_point' => $request->end_point,
'area' => json_encode($geojson)
]);
$mission->rahdaran()->attach($request->rahdaran);
@@ -60,6 +66,10 @@ 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),
@@ -70,6 +80,7 @@ class RequestPortalController extends Controller
'request_date' => $request->request_date,
'description' => $request->description,
'end_point' => $request->end_point,
'area' => json_encode($geojson)
]);
$mission->rahdaran()->sync($request->rahdaran);
@@ -77,7 +88,6 @@ class RequestPortalController extends Controller
return $this->successResponse();
}
public function destroy(Mission $mission): JsonResponse
{
DB::transaction(function () use ($mission) {

View File

@@ -31,6 +31,7 @@ class StoreRequest extends FormRequest
'request_date' => 'required|date',
'description' => 'string',
'end_point' => 'required|string',
'area' => 'required|array',
];
}
}

View File

@@ -32,6 +32,7 @@ class UpdateRequest extends FormRequest
'request_date' => 'required|date',
'description' => 'string',
'end_point' => 'required|string',
'area' => 'required|array',
];
}
}

View File

@@ -18,7 +18,7 @@ class RequestPortalService
$fields = [
'id', 'user_id', 'username', 'state_name', 'province_name', 'edare_shahri_name',
'description', 'requested_machines', 'type', 'start_date',
'end_date', 'request_date', 'end_point',
'end_date', 'request_date', 'end_point', 'area'
];
$query = Mission::query();

View File

@@ -31,6 +31,7 @@ return new class extends Migration
$table->dateTime('request_date');
$table->text('description')->nullable();
$table->string('end_point');
$table->geometry('area');
$table->timestamps();
});
}