File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/RoleController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\RoleSyncPermissionsRequest; use App\Http\Requests\Store\StoreRoleRequest; use App\Http\Requests\Update\UpdateRoleRequest; use Illuminate\Http\Request; /** * @OA\Tag( * name="Role", * description="Gerenciamento de Roles" * ) */ class RoleController extends Controller { /** * @OA\Get( * path="/api/role", * summary="Lista Roles", * operationId="ListRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Response(response=200, description="Roles retornados com sucesso") * ) */ public function index(Request $request) { $response = authServiceClient( 'get', $request->route()->uri().'/app/'.env('CLIENT_APP_KEY'), $request ); return response($response->json(), $response->status()); } /** * @OA\Post( * path="/api/role/{role}/permissions", * summary="Sincroniza permissões de um Role", * operationId="SyncRolePermissions", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="role", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody( * required=true, * @OA\JsonContent( * type="object", * @OA\Property( * property="permissions", * type="array", * @OA\Items(type="string") * ) * ) * ), * @OA\Response(response=200, description="Permissões sincronizadas com sucesso") * ) */ public function syncPermissions(string $role, RoleSyncPermissionsRequest $request) { $uri = str_replace('{role}', $role, $request->route()->uri()); $response = authServiceClient('post', $uri, $request); return response($response->json(), $response->status()); } /** * @OA\Post( * path="/api/role", * summary="Cria Role", * operationId="StoreRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=201, description="Role criado com sucesso") * ) */ public function store(StoreRoleRequest $request) { $request->merge(['app_id' => env('CLIENT_APP_KEY')]); $response = authServiceClient('post', $request->route()->uri(), $request); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/role/{role}", * summary="Mostra Role", * operationId="ShowRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="role", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Role retornado com sucesso") * ) */ public function show(Request $request, $role) { $uri = str_replace('{role}', $role, $request->route()->uri()); $response = authServiceClient('get', $uri, $request); return response($response->json(), $response->status()); } /** * @OA\Put( * path="/api/role/{role}", * summary="Atualiza Role", * operationId="UpdateRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="role", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Role atualizado com sucesso") * ) */ public function update(UpdateRoleRequest $request, $role) { $uri = str_replace('{role}', $role, $request->route()->uri()); $request->merge(['app_id' => env('CLIENT_APP_KEY')]); $response = authServiceClient('put', $uri, $request); return response($response->json(), $response->status()); } /** * @OA\Delete( * path="/api/role/{role}", * summary="Remove Role", * operationId="DeleteRole", * tags={"Role"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="role", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=204, description="Role removido com sucesso") * ) */ public function destroy(Request $request, $role) { $uri = str_replace('{role}', $role, $request->route()->uri()); $response = authServiceClient('delete', $uri, $request); return response([], $response->status()); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings