File manager - Edit - /var/www/html/ciosp/api/app/Http/Services/VehicleEvaluationService.php
Back
<?php namespace App\Http\Services; use App\Classes\BaseServiceResponse; use App\Http\Requests\VehicleEvaluationRequest; use App\Http\Resources\EvaluationByVehicleResource; use App\Http\Resources\VehicleEvaluationCollection; use App\Http\Resources\VehicleEvaluationResource; use App\Models\Vehicle; use App\Models\VehicleEvaluation; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; class VehicleEvaluationService extends BaseService { public function index(): BaseServiceResponse { $vehicleEvaluation = VehicleEvaluation::all(); return $this->success( new VehicleEvaluationCollection($vehicleEvaluation) ); } public function store(VehicleEvaluationRequest $request): BaseServiceResponse { $data = $request->all(); $evaluationNumber = Carbon::now()->format('Y-m-d') . '_' . uniqid(); foreach($data['data'] as $evaluation) { $evaluation['evaluation_number'] = $evaluationNumber; $evaluation['vehicle_id'] = $data['vehicle_id']; if (array_key_exists('picture', $evaluation)) { $base64 = $evaluation['picture']; $extension = explode('/', explode(':', substr($base64, 0, strpos($base64, ';')))[1])[1]; $replace = substr($base64, 0, strpos($base64, ',') + 1); $file = str_replace($replace, '', $base64); $file = str_replace(' ', '+', $file); $fileName = Carbon::now()->format('d-m-Y') . '_' . uniqid() . '.' . $extension; Storage::put('public/' . VehicleEvaluation::$picturePath . "/" . $fileName, base64_decode($file), ['visibility' => 'public', 'directory_visibility' => 'public']); $evaluation['picture'] = 'public/' . VehicleEvaluation::$picturePath . $fileName; } VehicleEvaluation::create($evaluation); } return $this->success( ['vehicleEvaluation' => $evaluationNumber], JsonResponse::HTTP_CREATED ); } public function show(VehicleEvaluation $vehicleEvaluation): BaseServiceResponse { return $this->success( ['vehicleEvaluation' => new VehicleEvaluationResource($vehicleEvaluation->load('vehicle'))] ); } public function update(VehicleEvaluationRequest $request, VehicleEvaluation $vehicleEvaluation): BaseServiceResponse { $vehicleEvaluation->fill($request->all())->save(); return $this->success( ['vehicleEvaluation' => new VehicleEvaluationResource($vehicleEvaluation)] ); } public function destroy(VehicleEvaluation $vehicleEvaluation): BaseServiceResponse { $vehicleEvaluation->forceDelete(); return $this->success(null, JsonResponse::HTTP_NO_CONTENT); } public function showByEvaluationNumber(VehicleEvaluation $vehicleEvaluation, Request $request): BaseServiceResponse { $vehicle_evaluation = VehicleEvaluation::where('evaluation_number', $request->evaluation_number)->get(); return $this->success( ['vehicleEvaluation' => VehicleEvaluationResource::collection($vehicle_evaluation->load('vehicle'))] ); } public function showByVehicleId(Request $request): BaseServiceResponse { $vehicle = Vehicle::find($request->vehicle_id); return $this->success( ['vehicleEvaluation' => new EvaluationByVehicleResource($vehicle->load('vehicleEvaluation'))] ); } public function evalutationByType(string $id): BaseServiceResponse { $evaluations = VehicleEvaluation::where('vehicle_evaluation_type_id', $id)->get(); return $this->success( ['vehicleEvaluation' => VehicleEvaluationResource::collection($evaluations->load('vehicle'))] ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings