File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/EnderecoController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\Store\StoreEnderecoRequest; use App\Http\Requests\Store\StorePrivateFieldRequest; use App\Http\Requests\Update\UpdateEnderecoRequest; use App\Http\Services\PrivateFieldService; use App\Models\Endereco; use Illuminate\Http\JsonResponse; /** * @OA\Tag( * name="Endereco", * description="Gerenciamento de Enderecos" * ) */ class EnderecoController extends Controller { public function __construct() { $this->authorizeResource(Endereco::class); } /** * Retorna a lista de enderecos paginadas. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/enderecos", * summary="Lista Enderecos", * operationId="IndexEndereco", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Enderecos retornados com sucesso") * ) */ public function index() { return response()->json(Endereco::paginate()); } /** * @OA\Post( * path="/api/enderecos", * summary="Cria Endereco", * operationId="StoreEndereco", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody( * required=true, * @OA\JsonContent( * type="object", * @OA\Property(property="logradouro", type="string", example="Rua das Flores"), * @OA\Property(property="bairro", type="string", example="Centro"), * @OA\Property(property="cidade", type="string", example="São Luís"), * @OA\Property(property="estado", type="string", example="MA"), * @OA\Property(property="latitude", type="number", format="float", example=6297.020340269531), * @OA\Property(property="longitude", type="number", format="float", example=8034.775867080209), * @OA\Property(property="numero", type="string", example="123"), * @OA\Property(property="complemento", type="string", example="Próximo ao mercado"), * @OA\Property(property="cep", type="string", example="65000-000") * ) * ), * @OA\Response( * response=201, * description="Endereco criado com sucesso" * ) * ) */ public function store(StoreEnderecoRequest $request) { return response()->json(Endereco::create($request->validated()), JsonResponse::HTTP_CREATED); } /** * Mostra a endereco de determinado id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/enderecos/{endereco}", * summary="Mostra Endereco", * operationId="ShowEndereco", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="endereco", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Endereco retornado com sucesso") * ) */ public function show(Endereco $endereco) { return response()->json($endereco); } /** * Atualiza a endereco baseando-se em seu id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Put( * path="/api/enderecos/{endereco}", * summary="Atualiza Endereco", * operationId="UpdateEndereco", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="endereco", in="path", required=true, @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Endereco atualizado com sucesso") * ) */ public function update(UpdateEnderecoRequest $request, Endereco $endereco) { $endereco->update($request->validated()); return response()->json($endereco, JsonResponse::HTTP_OK); } /** * Remove a endereco com base no seu id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Delete( * path="/api/enderecos/{endereco}", * summary="Remove Endereco", * operationId="DeleteEndereco", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="endereco", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=204, description="Endereco removido com sucesso") * ) */ public function destroy(Endereco $endereco) { $endereco->delete(); return response()->json([], JsonResponse::HTTP_NO_CONTENT); } /** * Mostra os campos privados do modelo. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/enderecos/{endereco}/campos-ocultos", * summary="Mostra campos privados do Endereco", * operationId="ShowEnderecoPrivateFields", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="endereco", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Campos privados retornados com sucesso") * ) */ public function showPrivateFields(Endereco $endereco) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->show($endereco); } /** * Modifica os campos privados do modelo. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Put( * path="/api/enderecos/{endereco}/campos-ocultos", * summary="Modifica campos privados do Endereco", * operationId="SetEnderecoPrivateFields", * tags={"Endereco"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="endereco", 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, Endereco $endereco) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->setPrivateFields($request, $endereco); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings