File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/FaseServicoSubitemController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\Index\IndexFaseServicoSubitemRequest; use App\Http\Requests\Store\StoreFaseServicoSubitemRequest; use App\Http\Requests\Store\StorePrivateFieldRequest; use App\Http\Requests\Update\UpdateFaseServicoSubitemRequest; use App\Http\Services\PrivateFieldService; use App\Models\FaseServicoSubitem; use Illuminate\Http\JsonResponse; /** * @OA\Tag( * name="FaseServicoSubitem", * description="Gerenciamento de FaseServicoSubitems" * ) */ class FaseServicoSubitemController extends Controller { public function __construct() { $this->authorizeResource(FaseServicoSubitem::class); } /** * @OA\Get( * path="/api/faseservicosubitems", * summary="Lista FaseServicoSubitems", * operationId="IndexFaseServicoSubitem", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="FaseServicoSubitems retornados com sucesso") * ) */ public function index(IndexFaseServicoSubitemRequest $request) { $limit = $request->limit ?? 15; $faseServicoSubitem = FaseServicoSubitem::with(['servico', 'medicoes']) ->when(! empty($request->fase_servico_id), function ($q) use ($request) { $q->where('fase_servico_id', $request->fase_servico_id); }) ->latest('id') ->paginate($limit); return response()->json($faseServicoSubitem); } /** * @OA\Post( * path="/api/faseservicosubitems", * summary="Cria FaseServicoSubitem", * operationId="StoreFaseServicoSubitem", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=201, description="FaseServicoSubitem criado com sucesso") * ) */ public function store(StoreFaseServicoSubitemRequest $request) { return response()->json( FaseServicoSubitem::create($request->validated()), JsonResponse::HTTP_CREATED ); } /** * @OA\Get( * path="/api/faseservicosubitems/{faseServicoSubitem}", * summary="Mostra FaseServicoSubitem", * operationId="ShowFaseServicoSubitem", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="faseServicoSubitem", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="FaseServicoSubitem retornado com sucesso") * ) */ public function show(FaseServicoSubitem $faseServicoSubitem) { return response()->json( $faseServicoSubitem->load(['servico', 'medicoes']) ); } /** * @OA\Put( * path="/api/faseservicosubitems/{faseServicoSubitem}", * summary="Atualiza FaseServicoSubitem", * operationId="UpdateFaseServicoSubitem", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="faseServicoSubitem", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="FaseServicoSubitem atualizado com sucesso") * ) */ public function update(UpdateFaseServicoSubitemRequest $request, FaseServicoSubitem $faseServicoSubitem) { return response()->json( $faseServicoSubitem->update($request->validated()) ); } /** * @OA\Delete( * path="/api/faseservicosubitems/{faseServicoSubitem}", * summary="Remove FaseServicoSubitem", * operationId="DeleteFaseServicoSubitem", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="faseServicoSubitem", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=204, description="FaseServicoSubitem removido com sucesso") * ) */ public function destroy(FaseServicoSubitem $faseServicoSubitem) { $faseServicoSubitem->delete(); return response()->json([], JsonResponse::HTTP_NO_CONTENT); } /** * @OA\Get( * path="/api/faseservicosubitems/{faseServicoSubitem}/campos-ocultos", * summary="Mostra campos privados do FaseServicoSubitem", * operationId="ShowFaseServicoSubitemPrivateFields", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="faseServicoSubitem", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Campos privados retornados com sucesso") * ) */ public function showPrivateFields(FaseServicoSubitem $subitem) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->show($subitem); } /** * @OA\Put( * path="/api/faseservicosubitems/{faseServicoSubitem}/campos-ocultos", * summary="Modifica campos privados do FaseServicoSubitem", * operationId="SetFaseServicoSubitemPrivateFields", * tags={"FaseServicoSubitem"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="faseServicoSubitem", * 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, FaseServicoSubitem $subitem) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->setPrivateFields($request, $subitem); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings