create area for mission and asaynd geometry
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -31,6 +31,7 @@ class StoreRequest extends FormRequest
|
||||
'request_date' => 'required|date',
|
||||
'description' => 'string',
|
||||
'end_point' => 'required|string',
|
||||
'area' => 'required|array',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ class UpdateRequest extends FormRequest
|
||||
'request_date' => 'required|date',
|
||||
'description' => 'string',
|
||||
'end_point' => 'required|string',
|
||||
'area' => 'required|array',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user