39. Users Controller
O módulo Users Controller é responsável pelo gerenciamento de usuários da plataforma SmartFleet. Por meio dele é possível cadastrar novos usuários, consultar registros, atualizar informações cadastrais, desativar usuários e realizar pesquisas paginadas utilizando filtros.
Funcionalidades Principais
Abaixo estão os atalhos para as operações mais utilizadas neste módulo:
Listar Usuários
Retorna uma lista paginada de usuários cadastrados na plataforma, permitindo a utilização de filtros para facilitar a pesquisa.
Endpoint: /api/users
Método: GET
Parâmetros:
- userFilterDTO (query, obrigatório) — Filtros utilizados na pesquisa dos usuários.
- page (query, obrigatório) — Informações de paginação da consulta.
Response body:
{ "totalElements": 0, "totalPages": 0, "size": 0, "content": [ { "id": 0, "name": "string", "email": "string", "username": "string" } ], "number": 0, "sort": { "empty": true, "sorted": true, "unsorted": true }, "pageable": { "offset": 0, "sort": { "empty": true, "sorted": true, "unsorted": true }, "pageNumber": 0, "unpaged": true, "paged": true, "pageSize": 0 }, "numberOfElements": 0, "first": true, "last": true, "empty": true}Obter Usuário por ID
Retorna os dados completos de um usuário específico.
Endpoint: /api/users/{userId}
Método: GET
Parâmetros:
- userId (path, obrigatório) — Identificador do usuário.
Response body:
{ "message": "string", "payLoad": { "id": 0, "name": "string", "email": "string", "username": "string", "phoneCode": "string", "phoneNumber": "string", "licenseCategory": { "id": 0, "name": "string" }, "licenseNumber": "string", "validateDate": "2024-01-01", "client": { ... }, "locale": { "id": 0, "code": "string", "description": "string", "displayName": "string" }, "country": { "id": 0, "name": "string", "code": "string", "currencyId": 0, "localeId": 0 }, "roles": ["DRIVER"], "role": "DRIVER", "profilePicture": "string", "localeCode": "string", "carWorkshopId": 0, "countryCodeFromDatabase": "BR", "serverUrl": "string" }}Nota: o objeto client segue a mesma estrutura detalhada do módulo Client e foi abreviado aqui por brevidade.
Criar Usuário
Cria um novo usuário na plataforma.
Endpoint: /api/users
Método: POST
Parâmetros:
- userRequestDTO (body, obrigatório) — Dados do usuário a ser cadastrado.
Responses:
- 200 — Usuário criado com sucesso.
- 403 — Unauthorized.
- 500 — Unknown Server Error.
Request body:
{ "name": "string", "email": "string", "username": "string", "phoneCode": "string", "phoneNumber": "string", "licenseCategory": { "id": 0, "name": "string" }, "licenseNumber": "string", "validateDate": "2024-01-01", "clientId": 0, "localeId": 0, "countryId": 0, "roles": [ "DRIVER" ]}Response body:
{ "message": "string", "payLoad": { "id": 0, "name": "string", "email": "string", "username": "string", "role": "DRIVER" }}Atualizar Usuário
Atualiza as informações de um usuário existente.
Endpoint: /api/users/{userId}
Método: PUT
Parâmetros:
- userId (path, obrigatório) — Identificador do usuário.
- userRequestDTO (body, obrigatório) — Dados atualizados do usuário.
Request body:
{ "id": 0, "name": "string", "email": "string", "username": "string", "phoneCode": "string", "phoneNumber": "string", "licenseCategory": { "id": 0, "name": "string" }, "licenseNumber": "string", "validateDate": "2024-01-01", "clientId": 0, "roles": [ "DRIVER" ]}Response body:
{ "message": "string", "payLoad": { "id": 0, "name": "string", "email": "string", "username": "string", "role": "DRIVER" }}Desativar Usuário
Desativa um usuário da plataforma, impedindo novos acessos sem remover seu histórico.
Endpoint: /api/users/{userId}
Método: DELETE
Parâmetros:
- userId (path, obrigatório) — Identificador do usuário.
Response body:
{ "message": "string", "payLoad": true, "warning": true}