add form request to start and finish api

This commit is contained in:
2025-06-28 08:54:15 +03:30
parent 47dd5afb47
commit 7769133bc3
7 changed files with 84 additions and 25 deletions

View File

@@ -4,6 +4,8 @@ namespace App\Http\Controllers\V3\Dashboard\Mission;
use App\Enums\MissionStates;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Mission\ControlUnit\FinishRequest;
use App\Http\Requests\V3\Mission\ControlUnit\StartRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Mission;
use App\Services\Cartables\Mission\ControlUnitService;
@@ -19,7 +21,7 @@ class ControlUnitController extends Controller
return response()->json($controlUnitService->datatable($request));
}
public function start(Request $request, Mission $mission): JsonResponse
public function start(StartRequest $request, Mission $mission): JsonResponse
{
DB::transaction(function () use ($request, $mission) {
$mission->histories()->create([
@@ -38,7 +40,7 @@ class ControlUnitController extends Controller
return $this->successResponse();
}
public function finish(Request $request, Mission $mission): JsonResponse
public function finish(FinishRequest $request, Mission $mission): JsonResponse
{
DB::transaction(function () use ($request, $mission) {
$mission->histories()->create([

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Mission\ControlUnit;
use App\Enums\MissionStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class FinishRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->mission->state_id == MissionStates::START_MISSION->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
//
];
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests\V3\Mission\ControlUnit;
use App\Enums\MissionStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class StartRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return $this->mission->state_id == MissionStates::PENDING_CONFIRMATION->value;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
//
];
}
}