![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/Corals/modules/Medad/Http/Controllers/API/ |
<?php namespace Corals\Modules\Medad\Http\Controllers\API; use Corals\Foundation\Http\Controllers\APIBaseController; use Corals\Modules\Medad\DataTables\VehiclesDataTable; use Corals\Modules\Medad\Http\Requests\VehicleRequest; use Corals\Modules\Medad\Models\Company; use Corals\Modules\Medad\Models\Vehicle; use Corals\Modules\Medad\Services\VehicleService; use Corals\Modules\Medad\Transformers\API\VehiclePresenter; use Illuminate\Http\JsonResponse; class VehiclesController extends APIBaseController { protected $vehicleService; public function __construct(VehicleService $vehicleService) { $this->vehicleService = $vehicleService; $this->vehicleService->setPresenter(new VehiclePresenter()); parent::__construct(); } /** * @param VehicleRequest $request * @param VehiclesDataTable $dataTable * @return mixed */ public function index(VehicleRequest $request, VehiclesDataTable $dataTable, Company $company) { $vehicles = $dataTable->query(new Vehicle()); return $this->vehicleService->index($vehicles, $dataTable); } /** * @param VehicleRequest $request * @param Company $company * @param Vehicle $vehicle * @return JsonResponse */ public function show(VehicleRequest $request, Company $company, Vehicle $vehicle) { try { return apiResponse($this->vehicleService->getModelDetails($vehicle)); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } /** * @param VehicleRequest $request * @param Company $company * @return JsonResponse */ public function store(VehicleRequest $request, Company $company) { try { $vehicle = $this->vehicleService->store($request, Vehicle::class, ['company_id' => $company->id]); return apiResponse($this->vehicleService->getModelDetails(), trans('Corals::messages.success.created', ['item' => $vehicle->licence_plate])); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } /** * @param VehicleRequest $request * @param Vehicle $vehicle * @param Company $company * @return JsonResponse */ public function update(VehicleRequest $request, Company $company, Vehicle $vehicle) { try { $this->vehicleService->update($request, $vehicle); return apiResponse($this->vehicleService->getModelDetails(), trans('Corals::messages.success.updated', ['item' => $vehicle->licence_plate])); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } /** * @param VehicleRequest $request * @param Company $company * @param Vehicle $vehicle * @return JsonResponse */ public function destroy(VehicleRequest $request, Company $company, Vehicle $vehicle) { try { $this->vehicleService->destroy($request, $vehicle); return apiResponse([], trans('Corals::messages.success.deleted', ['item' => $vehicle->licence_plate])); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } }