File manager - Edit - /var/www/html/gop/api/app/Http/Controllers/UserController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\UserChangeStatusRequest; use App\Http\Requests\UserFirstAccessModifyPasswordRequest; use App\Http\Requests\UserStoreRequest; use App\Http\Requests\UserSyncPermissionsRequest; use App\Http\Requests\UserSyncRolesRequest; use App\Http\Requests\UserUpdateRequest; use App\Http\Services\AuthService; use Illuminate\Http\Request; /** * @OA\Tag( * name="User", * description="Gerenciamento de Usuários" * ) */ class UserController extends Controller { private AuthService $authService; public function __construct() { $this->authService = new AuthService(); } /** * @OA\Get( * path="/api/users", * summary="Lista usuários", * operationId="IndexUser", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="appId", * in="query", * description="Chave do aplicativo", * required=true, * @OA\Schema(type="string") * ), * @OA\Parameter( * name="page", * in="query", * @OA\Schema(type="integer") * ), * @OA\Response(response=200, description="Usuários retornados com sucesso") * ) */ public function index(Request $request) { $response = authServiceClient( 'get', $request->route()->uri() . '/app/' . env('CLIENT_APP_KEY') . '?' . $request->getQueryString(), $request ); return response($response->json(), $response->status()); } /** * @OA\Post( * path="/api/users", * summary="Cria usuário", * operationId="StoreUser", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=201, description="Usuário criado com sucesso") * ) */ public function store(UserStoreRequest $request) { $response = authServiceClient('post', $request->route()->uri(), $request); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/users/{user}", * summary="Exibe usuário", * operationId="ShowUser", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Usuário retornado com sucesso") * ) */ public function show(Request $request, $user) { $uri = str_replace('{user}', $user, $request->route()->uri()); $response = authServiceClient('get', $uri, $request); return response($response->json(), $response->status()); } /** * @OA\Put( * path="/api/users/{user}", * summary="Atualiza usuário", * operationId="UpdateUser", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Usuário atualizado com sucesso") * ) */ public function update(UserUpdateRequest $request, $user) { $uri = str_replace('{user}', $user, $request->route()->uri()); $response = authServiceClient('put', $uri, $request); return response($response->json(), $response->status()); } /** * @OA\Delete( * path="/api/users/{user}", * summary="Remove usuário", * operationId="DeleteUser", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=204, description="Usuário removido com sucesso") * ) */ public function destroy(Request $request, $user) { $uri = str_replace('{user}', $user, $request->route()->uri()); $response = authServiceClient('delete', $uri, $request); return response([], $response->status()); } /** * @OA\Post( * path="/api/users/first-access", * summary="Modifica senha no primeiro acesso", * operationId="FirstAccessModifyPassword", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Senha modificada com sucesso") * ) */ public function firstAccessModifyPassword(UserFirstAccessModifyPasswordRequest $request) { $response = authServiceClient('post', $request->route()->uri(), $request); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/users/{user}/reset-password", * summary="Reinicia senha padrão", * operationId="ResetUserPasswordDefault", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Senha resetada com sucesso") * ) */ public function resetPasswordDefault(string $user, Request $request) { $response = authServiceClient('get', $request->route()->uri(), $request); return response($response->json(), $response->status()); } /** * @OA\Put( * path="/api/users/{user}/status", * summary="Altera status do usuário", * operationId="ChangeUserStatus", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Status alterado com sucesso") * ) */ public function changeStatus(string $user, UserChangeStatusRequest $request) { $response = authServiceClient('put', $request->route()->uri(), $request); return response($response->json(), $response->status()); } /** * @OA\Post( * path="/api/users/{user}/permissions", * summary="Sincroniza permissões do usuário", * operationId="SyncUserPermissions", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Permissões sincronizadas com sucesso") * ) */ public function syncPermissions(string $user, UserSyncPermissionsRequest $request) { $uri = str_replace('{user}', $user, $request->route()->uri()); $response = authServiceClient('post', $uri, $request); return response($response->json(), $response->status()); } /** * @OA\Post( * path="/api/users/{user}/roles", * summary="Sincroniza roles do usuário", * operationId="SyncUserRoles", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="user", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\RequestBody(required=true, @OA\JsonContent()), * @OA\Response(response=200, description="Roles sincronizadas com sucesso") * ) */ public function syncRoles(string $user, UserSyncRolesRequest $request) { $response = authServiceClient('post', $request->route()->uri(), $request); return response($response->json(), $response->status()); } /** * @OA\Get( * path="/api/users/document/{document}", * summary="Busca usuário por documento", * operationId="GetUserByDocument", * tags={"User"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="document", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response(response=200, description="Usuário retornado com sucesso") * ) */ public function getByDocument(Request $request, string $document) { $uri = str_replace('{document}', $document, $request->route()->uri()); $response = authServiceClient('get', $uri, $request); return response($response->json(), $response->status()); } public function selfEdit(Request $request) { $response = $this->authService->selfEdit($request); return response($response->json(), $response->status()); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings