File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/AcrescidoController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\Index\IndexAcrescidoRequest; use App\Http\Requests\Store\StoreAcrescidoRequest; use App\Http\Requests\Store\StorePrivateFieldRequest; use App\Http\Requests\Update\UpdateAcrescidoRequest; use App\Http\Services\PrivateFieldService; use App\Models\Acrescido; use Symfony\Component\HttpFoundation\JsonResponse; /** * @OA\Tag( * name="Acrescido", * description="Gerenciamento de Acrescidos" * ) */ class AcrescidoController extends Controller { public function __construct() { $this->authorizeResource(Acrescido::class); } /** * Retorna lista de acrescidos. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/acrescidos", * summary="Lista Acrescidos", * operationId="IndexAcrescido", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Acrescidos retornados com sucesso") * ) */ public function index(IndexAcrescidoRequest $request) { $limit = $request->limit ?? 15; $acrescidos = Acrescido::with(['subitem']) ->when(! empty($request->subitem_id), function ($q) use ($request) { $q->where('fase_servico_subitem_id', $request->subitem_id); }) ->latest('id') ->paginate($limit); return response()->json($acrescidos); } /** * Salva novo item acrescido. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Post( * path="/api/acrescidos", * summary="Cria Acrescido", * operationId="StoreAcrescido", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=201, description="Acrescido criado com sucesso") * ) */ public function store(StoreAcrescidoRequest $request) { return response()->json(Acrescido::create($request->validated()), JsonResponse::HTTP_CREATED); } /** * Mostra o item acrescido com base no id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/acrescidos/{acrescido}", * summary="Mostra Acrescido", * operationId="ShowAcrescido", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="acrescido", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Acrescido retornado com sucesso") * ) */ public function show(Acrescido $acrescido) { return response()->json($acrescido->load(['subitem'])); } /** * Atualiza o item acrescido com base no id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Put( * path="/api/acrescidos/{acrescido}", * summary="Atualiza Acrescido", * operationId="UpdateAcrescido", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="acrescido", in="path", required=true, @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Acrescido atualizado com sucesso") * ) */ public function update(UpdateAcrescidoRequest $request, Acrescido $acrescido) { return response()->json($acrescido->update($request->validated())); } /** * Remove o item acrescido com base no id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Delete( * path="/api/acrescidos/{acrescido}", * summary="Remove Acrescido", * operationId="DeleteAcrescido", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="acrescido", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=204, description="Acrescido removido com sucesso") * ) */ public function destroy(Acrescido $acrescido) { $acrescido->delete(); return response()->json([], JsonResponse::HTTP_NO_CONTENT); } /** * Mostra os campos privados do modelo. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/acrescidos/{acrescido}/campos-ocultos", * summary="Mostra campos privados do Acrescido", * operationId="ShowAcrescidoPrivateFields", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="acrescido", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Campos privados retornados com sucesso") * ) */ public function showPrivateFields(Acrescido $acrescido) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->show($acrescido); } /** * Modifica os campos privados do modelo. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Put( * path="/api/acrescidos/{acrescido}/campos-ocultos", * summary="Modifica campos privados do Acrescido", * operationId="SetAcrescidoPrivateFields", * tags={"Acrescido"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="acrescido", in="path", required=true, @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Campos privados modificados com sucesso") * ) */ public function setPrivateFields(StorePrivateFieldRequest $request, Acrescido $acrescido) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->setPrivateFields($request, $acrescido); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings