File manager - Edit - /var/www/html/pcadigital/api/app/Http/Controllers/RoleController.php
Back
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; /** * @OA\Tag( * name="Role", * description="Gerenciamento de Roles" * ) */ class RoleController extends Controller { /** * @OA\Post( * path="/api/role/{role}/sync-permissions", * summary="Sincroniza permissões de uma Role", * operationId="SyncRolePermissions", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="integer") * ), * @OA\RequestBody( * required=true, * @OA\JsonContent( * required={"permissions"}, * @OA\Property( * property="permissions", * type="array", * @OA\Items(type="integer") * ) * ) * ), * @OA\Response(response=200, description="Permissões sincronizadas com sucesso"), * @OA\Response(response=422, description="Erro de validação") * ) */ public function syncPermissions(Request $request, string $id) { $url = env('AUTH_SERVICE_URL') . '/api/role/' . $id . '/sync-permissions'; $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->post($url, $request->all()); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/role/app/{app}", * summary="Lista Roles de um aplicativo específico", * operationId="IndexRoleByApp", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="app", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Roles retornadas com sucesso"), * @OA\Response(response=401, description="Não autenticado") * ) */ public function indexByApp(Request $request, string $app) { $url = env('AUTH_SERVICE_URL') . '/api/role/app/' . $app; $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->get($url); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/role/app", * summary="Lista Roles do aplicativo atual", * operationId="IndexRole", * tags={"Role"}, * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="string") * ), * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Roles retornadas com sucesso"), * @OA\Response(response=401, description="Não autenticado") * ) */ public function index(Request $request) { $url = env('AUTH_SERVICE_URL') . '/api/role/app/' . env('CLIENT_APP_KEY'); $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->get($url); return response($response->json(), $response->status()); } /** * @OA\Post( * path="/api/role", * summary="Cria Role", * operationId="StoreRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=201, description="Role criada com sucesso"), * @OA\Response(response=422, description="Erro de validação") * ) */ public function store(Request $request) { $url = env('AUTH_SERVICE_URL') . '/api/role'; $request->merge(['app_id' => env('CLIENT_APP_KEY')]); $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->post($url, $request->all()); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/role/{role}", * summary="Mostra Role", * operationId="ShowRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="integer") * ), * @OA\Response(response=200, description="Role retornada com sucesso"), * @OA\Response(response=404, description="Role não encontrada") * ) */ public function show(Request $request, $id) { $url = env('AUTH_SERVICE_URL') . '/api/role/' . $id; $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->get($url); return response($response->json(), $response->status()); } /** * @OA\Put( * path="/api/role/{role}", * summary="Atualiza Role", * operationId="UpdateRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="integer") * ), * @OA\RequestBody( * required=true * ), * @OA\Response(response=200, description="Role atualizada com sucesso"), * @OA\Response(response=422, description="Erro de validação") * ) */ public function update(Request $request, $id) { $url = env('AUTH_SERVICE_URL') . '/api/role/' . $id; $request->merge(['app_id' => env('CLIENT_APP_KEY')]); $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->put($url, $request->all()); return response($response->json(), $response->status()); } /** * @OA\Delete( * path="/api/role/{role}", * summary="Remove Role", * operationId="DeleteRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="id", * in="path", * required=true, * @OA\Schema(type="integer") * ), * @OA\Response(response=204, description="Role removida com sucesso") * ) */ public function destroy(Request $request, $id) { $url = env('AUTH_SERVICE_URL') . '/api/role/' . $id; $response = Http::withHeaders([ 'Accept' => 'application/json', 'Authorization' => 'Bearer ' . $request->bearerToken(), 'App' => env('CLIENT_APP_KEY'), ])->delete($url); return response([], $response->status()); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.09 |
proxy
|
phpinfo
|
Settings