File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/HistoricoController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\Store\StoreHistoricoRequest; use App\Http\Requests\Store\StorePrivateFieldRequest; use App\Http\Requests\Update\UpdateHistoricoRequest; use App\Http\Services\PrivateFieldService; use App\Models\Historico; use Symfony\Component\HttpFoundation\JsonResponse; /** * @OA\Tag( * name="Historico", * description="Gerenciamento de Histórico" * ) */ class HistoricoController extends Controller { public function __construct() { $this->authorizeResource(Historico::class); } /** * @OA\Get( * path="/api/historico", * summary="Lista histórico", * operationId="IndexHistorico", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Históricos retornados com sucesso") * ) */ public function index() { return response()->json(Historico::with(['historicable'])->paginate()); } /** * @OA\Post( * path="/api/historico", * summary="Cria novo histórico", * operationId="StoreHistorico", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=201, description="Histórico criado com sucesso") * ) */ public function store(StoreHistoricoRequest $request) { return response()->json(Historico::create($request->validated()), JsonResponse::HTTP_CREATED); } /** * @OA\Get( * path="/api/historico/{historico}", * summary="Mostra histórico", * operationId="ShowHistorico", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="historico", in="path", required=true, @OA\Schema(type="integer")), * @OA\Response(response=200, description="Histórico retornado com sucesso") * ) */ public function show(Historico $historico) { return response()->json($historico->load(['historicable'])); } /** * @OA\Put( * path="/api/historico/{historico}", * summary="Atualiza histórico", * operationId="UpdateHistorico", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="historico", in="path", required=true, @OA\Schema(type="integer")), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Histórico atualizado com sucesso") * ) */ public function update(UpdateHistoricoRequest $request, Historico $historico) { return response()->json($historico->update($request->validated())); } /** * @OA\Delete( * path="/api/historico/{historico}", * summary="Remove histórico", * operationId="DeleteHistorico", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="historico", in="path", required=true, @OA\Schema(type="integer")), * @OA\Response(response=204, description="Histórico removido com sucesso") * ) */ public function destroy(Historico $historico) { $historico->delete(); return response()->json([], JsonResponse::HTTP_NO_CONTENT); } /** * @OA\Get( * path="/api/historico/{historico}/campos-ocultos", * summary="Campos privados do histórico", * operationId="ShowHistoricoPrivateFields", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="historico", in="path", required=true, @OA\Schema(type="integer")), * @OA\Response(response=200, description="Campos privados retornados com sucesso") * ) */ public function showPrivateFields(Historico $historico) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->show($historico); } /** * @OA\Post( * path="/api/historico/{historico}/campos-ocultos", * summary="Atualiza campos privados do histórico", * operationId="SetHistoricoPrivateFields", * tags={"Historico"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="historico", in="path", required=true, @OA\Schema(type="integer")), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Campos privados atualizados com sucesso") * ) */ public function setPrivateFields(StorePrivateFieldRequest $request, Historico $historico) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->setPrivateFields($request, $historico); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings