File manager - Edit - /var/www/html/spdc/api/app/Http/Services/FieldService.php
Back
<?php namespace App\Http\Services; use App\Models\Field; use Illuminate\Http\Request; use Illuminate\Support\Carbon; use Illuminate\Http\JsonResponse; use App\Http\Requests\FieldRequest; use App\Classes\BaseServiceResponse; use App\Http\Resources\FieldResource; use Illuminate\Support\Facades\Cache; use App\Http\Resources\FieldCollection; class FieldService extends BaseService { public function index(Request $request): BaseServiceResponse { $relations = ['validations']; if (isset($request->search_term)) { $fields = $this->withSearch(Field::class, $request->search_term, array('label')); if (isset($request->without_pages)) { $fields = $fields->with($relations)->get(); } else { $fields = $fields->paginate(15); } } else { if (isset($request->without_pages)) { $fields = Field::with($relations)->get(); } else { $fields = Field::paginate(15); } } return $this->response( new FieldCollection($fields) ); } public function store(FieldRequest $request): BaseServiceResponse { $field = Field::create($request->all()); $validations = treatArrayInput($request->validations); if ($request->validations) { if (is_array($validations) && count($validations) > 0) { $field->validations()->attach($validations); } } return $this->response( new FieldResource($field->load('validations')), JsonResponse::HTTP_CREATED ); } public function show(Field $field): BaseServiceResponse { return $this->response( new FieldResource($field->load('validations')), JsonResponse::HTTP_OK ); } public function update(FieldRequest $request, Field $field): BaseServiceResponse { $field->fill($request->all()); $field->save(); $validations = treatArrayInput($request->validations); if ($request->validations) { if (is_array($validations) && count($validations) > 0) { $field->validations()->sync($validations); } } return $this->response( new FieldResource($field->load('validations')), JsonResponse::HTTP_OK ); } public function destroy(Field $field): BaseServiceResponse { $field->delete(); return $this->response( null, JsonResponse::HTTP_NO_CONTENT ); } public function destroyMany(Request $request): BaseServiceResponse { Field::destroy(treatArrayInput($request->fields)); return $this->response( null, JsonResponse::HTTP_NO_CONTENT ); } public function getSystemValue(Field $field): string|array|null { if (!$field->system_item) { return null; } switch($field->system_item_type) { case 'CURRENT_USER': $user = Cache::get('user'); return [ 'name' => $user['name'], 'document' => $user['document'], 'registration' => $user['registration'], 'email' => $user['email'] ]; case 'CURRENT_TIME': return Carbon::now()->toTimeString(); case 'CURRENT_DATE': return Carbon::now()->toDateString(); case 'CURRENT_DATE_TIME': return Carbon::now()->toString(); default: return null; } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings