File manager - Edit - /var/www/html/pcadigital/api/app/Http/Requests/HistoricRequest.php
Back
<?php namespace App\Http\Requests; use App\Enums\OccurrenceStatusEnum; use App\Models\Occurrence; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Contracts\Validation\Validator; class HistoricRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Prepare the data for validation. * * @return void */ protected function prepareForValidation() { if ($this->has('occurrence_id') && is_null($this->input('category_id')) && is_null($this->input('sub_category_id'))) { $occurrence = Occurrence::find($this->input('occurrence_id')); $last_history = $occurrence->historics->last(); $this->merge([ 'category_id' => $last_history->category_id, 'sub_category_id' => $last_history->sub_category_id, ]); } } /** * Get the validation rules that apply to the request. * * @return array<string, mixed> */ public function rules() { $data = $this->all(); if($data['status'] == OccurrenceStatusEnum::DISAPPROVED->value || $data['status'] == OccurrenceStatusEnum::CONCLUDED->value ) { $rules = [ 'status' => 'required|in:ABERTO,CONCLUÍDO,OUVIDORIA,SEM ÓRGÃO,SENDO AVALIADO,REPROVADO,MANUTENÇÃO EM ANDAMENTO', 'observation' => 'required|max:255', 'created_by' => 'required|max:255', 'final_comment' => 'nullable|max:255', 'category_id' => 'nullable|exists:categories,id', 'sub_category_id' => 'nullable|exists:sub_categories,id', 'occurrence_id' => 'required|exists:occurrences,id', 'images_url' => 'nullable|array', 'is_send_to_citizen' => 'required|boolean' ]; }else { $rules = [ 'status' => 'required|in:ABERTO,CONCLUÍDO,OUVIDORIA,SEM ÓRGÃO,SENDO AVALIADO,REPROVADO,MANUTENÇÃO EM ANDAMENTO', 'observation' => 'required|max:255', 'created_by' => 'required|max:255', 'final_comment' => 'nullable|max:255', 'category_id' => 'exists:categories,id', 'sub_category_id' => 'exists:sub_categories,id', 'occurrence_id' => 'required|exists:occurrences,id', 'images_url' => 'nullable|array', 'is_send_to_citizen' => 'required|boolean' ]; } return $rules; } public function failedValidation(Validator $validator) { throw new HttpResponseException(response()->json([ 'success' => false, 'message' => 'Validation errors', 'data' => $validator->errors() ])); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.08 |
proxy
|
phpinfo
|
Settings