File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/ImageController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\Store\StorePrivateFieldRequest; use App\Http\Services\PrivateFieldService; use App\Models\Image; use Illuminate\Support\Facades\Storage; use Symfony\Component\HttpFoundation\Response; /** * @OA\Tag( * name="Image", * description="Gerenciamento de Imagens" * ) */ class ImageController extends Controller { /** * @OA\Get( * path="/api/image", * summary="Lista de imagens", * operationId="IndexImage", * tags={"Image"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Imagens retornadas com sucesso") * ) */ public function index() { return response()->json(Image::paginate()); } /** * @OA\Get( * path="/api/image/{image}", * summary="Exibe uma imagem", * operationId="ShowImage", * tags={"Image"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="image", in="path", required=true, @OA\Schema(type="integer")), * @OA\Response(response=200, description="Imagem retornada com sucesso") * ) */ public function show(Image $image) { return response()->json($image->load(['imageable'])); } /** * @OA\Delete( * path="/api/image/{image}", * summary="Remove uma imagem", * operationId="DeleteImage", * tags={"Image"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="image", in="path", required=true, @OA\Schema(type="integer")), * @OA\Response(response=204, description="Imagem removida com sucesso") * ) */ public function destroy(Image $image) { Storage::delete('public/'.$image->path); $image->delete(); return response()->json([], Response::HTTP_NO_CONTENT); } /** * @OA\Get( * path="/api/image/{image}/campos-ocultos", * summary="Campos privados da imagem", * operationId="ShowImagePrivateFields", * tags={"Image"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="image", in="path", required=true, @OA\Schema(type="integer")), * @OA\Response(response=200, description="Campos privados retornados com sucesso") * ) */ public function showPrivateFields(Image $image) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->show($image); } /** * @OA\Post( * path="/api/image/{image}/campos-ocultos", * summary="Atualiza campos privados da imagem", * operationId="SetImagePrivateFields", * tags={"Image"}, * security={{"bearerAuth":{}}}, * @OA\Parameter(name="image", 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, Image $image) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->setPrivateFields($request, $image); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings