File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/ArquivoController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\Store\StorePrivateFieldRequest; use App\Http\Services\PrivateFieldService; use App\Models\Arquivo; use GuzzleHttp\Psr7\Response; use Illuminate\Support\Facades\Storage; use Nette\Utils\Json; use Symfony\Component\HttpFoundation\JsonResponse; /** * @OA\Tag( * name="Arquivo", * description="Gerenciamento de Arquivos" * ) */ class ArquivoController extends Controller { /** * Retorna a lista de arquivos paginadas. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/arquivos", * summary="Lista Arquivos", * operationId="IndexArquivo", * tags={"Arquivo"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Arquivos retornados com sucesso") * ) */ public function index() { return response()->json(Arquivo::paginate()); } /** * Mostra a arquivo de determinado id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/arquivos/{arquivo}", * summary="Mostra Arquivo", * operationId="ShowArquivo", * tags={"Arquivo"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="arquivo", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Arquivo retornado com sucesso") * ) */ public function show(Arquivo $arquivo) { return response()->json($arquivo->load(['arquivable'])); } public function setIsPublic(Arquivo $arquivo) { $arquivo->update(['is_public' => filter_var(\request()->is_public, FILTER_VALIDATE_BOOLEAN)]); return response()->json($arquivo, JsonResponse::HTTP_OK); } /** * Remove o arquivo com base no seu id. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Delete( * path="/api/arquivos/{arquivo}", * summary="Remove Arquivo", * operationId="DeleteArquivo", * tags={"Arquivo"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="arquivo", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=204, description="Arquivo removido com sucesso") * ) */ public function destroy(Arquivo $arquivo) { Storage::delete('public/'.$arquivo->path); $arquivo->delete(); return response()->json([], JsonResponse::HTTP_NO_CONTENT); } /** * Mostra os campos privados do modelo. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Get( * path="/api/arquivos/{arquivo}/campos-ocultos", * summary="Mostra campos privados do Arquivo", * operationId="ShowArquivoPrivateFields", * tags={"Arquivo"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="arquivo", in="path", required=true, @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Campos privados retornados com sucesso") * ) */ public function showPrivateFields(Arquivo $arquivo) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->show($arquivo); } /** * Modifica os campos privados do modelo. * * @return \Illuminate\Http\JsonResponse */ /** * @OA\Put( * path="/api/arquivos/{arquivo}/campos-ocultos", * summary="Modifica campos privados do Arquivo", * operationId="SetArquivoPrivateFields", * tags={"Arquivo"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="arquivo", 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, Arquivo $arquivo) { $privateFieldService = new PrivateFieldService(); return $privateFieldService->setPrivateFields($request, $arquivo); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings