83 lines
2.6 KiB
PHP
83 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\V3\Dashboard\Mission;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\V3\Mission\RequestPortal\StoreRequest;
|
|
use App\Http\Requests\V3\Mission\RequestPortal\UpdateRequest;
|
|
use App\Http\Traits\ApiResponse;
|
|
use App\Models\Mission;
|
|
use App\Services\Missions\CartableService;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class CartableController extends Controller
|
|
{
|
|
use ApiResponse;
|
|
|
|
public function index(Request $request,CartableService $cartableService): JsonResponse
|
|
{
|
|
return response()->json($cartableService->datatable($request));
|
|
}
|
|
|
|
public function store(StoreRequest $request): JsonResponse
|
|
{
|
|
|
|
$mission = Mission::query()->create([
|
|
'user_id'=> auth()->user()->id(),
|
|
'state_id' => $request->state_id,
|
|
'state_name' => $request->state_name,
|
|
'requested_machine_type' =>$request->requested_machine_type,
|
|
'requested_machine_numbers' =>$request->requested_machine_numbers,
|
|
'type' =>$request->type,
|
|
'start_date' =>$request->start_date,
|
|
'end_date' =>$request->end_date,
|
|
'request_date' =>$request->request_date,
|
|
'description' =>$request->description,
|
|
'start_point' =>$request->start_point,
|
|
'end_point' =>$request->end_point,
|
|
]);
|
|
|
|
$mission->rahdaran()->attach($request->rahdaran);
|
|
|
|
return $this->successResponse();
|
|
|
|
}
|
|
|
|
public function show(Mission $mission): JsonResponse
|
|
{
|
|
return $this->successResponse($mission);
|
|
}
|
|
|
|
public function update(UpdateRequest $request,Mission $mission): JsonResponse
|
|
{
|
|
$mission->update([
|
|
'state_id' => $request->state_id,
|
|
'state_name' => $request->state_name,
|
|
'requested_machine_type' =>$request->requested_machine_type,
|
|
'requested_machine_numbers' =>$request->requested_machine_numbers,
|
|
'type' =>$request->type,
|
|
'start_date' =>$request->start_date,
|
|
'end_date' =>$request->end_date,
|
|
'request_date' =>$request->request_date,
|
|
'description' =>$request->description,
|
|
'start_point' =>$request->start_point,
|
|
'end_point' =>$request->end_point,
|
|
|
|
]);
|
|
|
|
$mission->rahdaran()->sync($request->rahdaran);
|
|
|
|
return $this->successResponse();
|
|
|
|
}
|
|
|
|
public function destroy(Mission $mission): JsonResponse
|
|
{
|
|
$mission->rahdaran()->detach();
|
|
$mission->delete();
|
|
return $this->successResponse();
|
|
|
|
}
|
|
}
|