DriveB

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
}