File manager - Edit - /var/www/html/spdc/api/app/Http/Services/BDTService.php
Back
<?php namespace App\Http\Services; use App\Models\BDT; use App\Models\Category; use App\Models\Schedule; use Illuminate\Http\Request; use Illuminate\Http\JsonResponse; use App\Http\Resources\BDTResource; use App\Classes\BaseServiceResponse; use App\Http\Requests\CategoryRequest; use App\Http\Resources\CategoryResource; use App\Http\Resources\CategoryCollection; class BDTService extends BaseService { private $relationships = [ 'transportation', 'schedule.occurrencies', 'supplies' ]; public function me(): BaseServiceResponse { $currentUser = request()->user; $bdts = BDT::whereRelation('schedule', 'driver_id', $currentUser['id'])->get(); return $this->response( BDTResource::collection($bdts->load($this->relationships)) ); } public function show(BDT $bdt): BaseServiceResponse { return $this->response( new BDTResource($bdt->load($this->relationships)) ); } public function transportationSupply(BDT $bdt): BaseServiceResponse { if ($bdt->finished) { return $this->response( null, JsonResponse::HTTP_BAD_REQUEST, 'Este BDT já foi finalizado.' ); } $bdt->supplies()->create([ 'hour' => request()->hour, 'odometer' => request()->odometer, 'liters' => request()->liters, 'document_number' => request()->document_number, 'file' => request()->file, 'transportation_id' => $bdt->schedule->transportation_id, ]); return $this->response( new BDTResource($bdt->load($this->relationships)) ); } public function finish(BDT $bdt): BaseServiceResponse { if ($bdt->finished) { return $this->response( null, JsonResponse::HTTP_BAD_REQUEST, 'Este BDT já foi finalizado.' ); } foreach(request()->occurrencies as $occurrency) { $bdt->schedule->occurrencies()->updateExistingPivot($occurrency['id'], ['finished' => $occurrency['finished']]); } $bdt->fill([ 'tank_completed' => request()->tank_completed, 'finished' => true, ]); return $this->response( new BDTResource($bdt->load($this->relationships)) ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings