Files
backend/app/Http/Controllers/V3/Dashboard/Mission/CartableController.php
2025-05-18 18:12:15 +03:30

73 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers\V3\Dashboard\Mission;
use App\Facades\DataTable\DataTableFacade;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\Mission\StoreRequest;
use App\Http\Traits\ApiResponse;
use App\Models\CMMSMachine;
use App\Models\Mission;
use App\Models\Rahdaran;
use App\Services\Missions\CartableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
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,
]);
if ($request->filled('machine_id')) {
$mission->machines()->attach($request->machine_ids);
}
if ($request->filled('rahdar_id')) {
$mission->rahdars()->attach($request->rahdar_ids);
}
return $this->successResponse();
}
public function show(Request $request,Mission $mission,CartableService $cartableService): JsonResponse
{
return response()->json($cartableService->getMission($request->user(), $mission));
}
public function update(Request $request, string $id)
{
//
}
public function destroy(string $id)
{
//
}
}