backend_users.md
0 → 100644
| | [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Gerência](gerencia) | [Estudos](estudos) | [Arquitetura](arquitetura) | [Contratos](contratos) | [BD](banco_dados) | [Qualidade](qualidade) | [Configuração](configuracao) | [Instalação](instalacao) | [Instruções](instrucoes) | [Utilização](utilizacao) | [Analytics](Analytics) | [Infraestrutura](infraestrutura) | [Dicas](dicas) | | ||
| | :-------: | :---------------------: | :---------------: | :---------------------------: | :----------------: | :-------------: | :---------------------: | :-----------------: | :------------: | :-----------------: | :-------------------------: | :---------------------: | :---------------------: | :---------------------: | :-----------------: | :---------------------------: | :---------: | | ||
| # Users - usuários | ||
| fields: | ||
| ```js | ||
| id: number; | ||
| email: string; | ||
| password: string; | ||
| role: Role; | ||
| username: string; | ||
| first_name: string; | ||
| last_name: string; | ||
| gender: Gender; | ||
| active: boolean; | ||
| ``` | ||
| Endpoints: | ||
| ## Create | ||
| POST http://localhost:3000/users/ | ||
| request: | ||
| ```json | ||
| { | ||
| "email": "[email protected]", | ||
| "password": "cpplanta" | ||
| } | ||
| ``` | ||
| response: | ||
| ```json | ||
| { | ||
| "id": 15, | ||
| "username": null, | ||
| "email": "[email protected]", | ||
| "active": true, | ||
| "role": "DEFAULT", | ||
| "first_name": null, | ||
| "last_name": null, | ||
| "gender": "OTHER", | ||
| "created_at": "19/10/2024 01:50:35", | ||
| "updated_at": "19/10/2024 01:50:35" | ||
| } | ||
| ``` | ||
| Observações: | ||
| "role" serve para diferenciar o papel, por exemplo: | ||
| ADMIN (Cássio), | ||
| ROOT (sistema), | ||
| DEMO (demonstração/ apresentação final) | ||
| O campo "active", onde ocorrer, serve para exclusão lógica do registro. Quando não houver, a remoção é física. | ||
| ## FindAll | ||
| GET http://localhost:3000/users/ | ||
| request: no body | ||
| QueryParams: | ||
| orderBy | ||
| fields: | ||
| 'id', | ||
| 'username', | ||
| 'email', | ||
| 'first_name', | ||
| 'last_name', | ||
| 'gender', | ||
| 'role', | ||
| 'created_at', | ||
| 'updated_at' | ||
| response: | ||
| ```json | ||
| [ | ||
| { | ||
| "id": 10, | ||
| "username": "root", | ||
| "email": "[email protected]", | ||
| "active": true, | ||
| "role": "ROOT", | ||
| "first_name": "CP", | ||
| "last_name": "Planta", | ||
| "gender": "MALE", | ||
| "created_at": "18/10/2024 00:09:25", | ||
| "updated_at": "18/10/2024 00:09:25" | ||
| }, | ||
| { | ||
| "id": 11, | ||
| "username": "Cassio", | ||
| "email": "[email protected]", | ||
| "active": true, | ||
| "role": "ROOT", | ||
| "first_name": "Cassio", | ||
| "last_name": "Santos", | ||
| "gender": "MALE", | ||
| "created_at": "18/10/2024 00:09:25", | ||
| "updated_at": "18/10/2024 00:09:25" | ||
| }, | ||
| { | ||
| "id": 12, | ||
| "username": "Roberto", | ||
| "email": "[email protected]", | ||
| "active": true, | ||
| "role": "DEMO", | ||
| "first_name": "Roberto", | ||
| "last_name": "Da Silva", | ||
| "gender": "MALE", | ||
| "created_at": "18/10/2024 00:09:25", | ||
| "updated_at": "18/10/2024 00:09:25" | ||
| }, | ||
| (...) | ||
| ] | ||
| ``` | ||
| ## FindById | ||
| GET http://localhost:3000/users/12 | ||
| request: no body | ||
| response: | ||
| ```json | ||
| { | ||
| "id": 12, | ||
| "username": "Roberto", | ||
| "email": "[email protected]", | ||
| "active": true, | ||
| "role": "DEMO", | ||
| "first_name": "Roberto", | ||
| "last_name": "Da Silva", | ||
| "gender": "MALE", | ||
| "created_at": "18/10/2024 00:09:25", | ||
| "updated_at": "18/10/2024 00:09:25" | ||
| } | ||
| ``` | ||
| ## Update | ||
| PATH http://localhost:3000/users/12 | ||
| request: | ||
| - queryparams: | ||
|  | ||
| response: | ||
| ```json | ||
| { | ||
| "id": 12, | ||
| "username": "fernanda", | ||
| "email": "[email protected]", | ||
| "active": true, | ||
| "role": "DEFAULT", | ||
| "first_name": "Fernanda", | ||
| "last_name": "Silva", | ||
| "gender": "FEMALE", | ||
| "created_at": "18/10/2024 00:09:25", | ||
| "updated_at": "19/10/2024 02:07:17" | ||
| } | ||
| ``` | ||
| ## Delete | ||
| DELETE http://localhost:3000/users/12 | ||
| request: no body | ||
| response: | ||
| ```json | ||
| { | ||
| "message": "User ID 12 deleted successfully" | ||
| } | ||
| ``` | ||
| ## Reactvate | ||
| POST http://localhost:3000/users/activate/12 | ||
| request: no body | ||
| response: | ||
| ```json | ||
| { | ||
| "message": "User ID 12 activated successfully" | ||
| } | ||
| ``` |