@hed-hog/contact 0.0.274 → 0.0.275

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ ```markdown
1
2
  # @hed-hog/contact
2
3
 
3
4
  ## 1. Visão geral do módulo
@@ -19,8 +20,8 @@ O módulo `@hed-hog/contact` é responsável pela gestão de informações relac
19
20
 
20
21
  ### Person Contact Type (`/person-contact-type`)
21
22
 
22
- | Método | Path | Autenticação | Descrição |
23
- |--------|--------------------|--------------|----------------------------------|
23
+ | Método | Path | Autenticação | Descrição |
24
+ |--------|----------------------|-------------------------------------|----------------------------------|
24
25
  | GET | `/person-contact-type` | Autenticado (roles: admin, admin-contact) | Lista tipos de contato com paginação e locale. |
25
26
  | GET | `/person-contact-type/:id` | Autenticado (roles: admin, admin-contact) | Obtém tipo de contato por ID com locale. |
26
27
  | POST | `/person-contact-type` | Autenticado (roles: admin, admin-contact) | Cria um novo tipo de contato. |
@@ -33,19 +34,21 @@ O módulo `@hed-hog/contact` é responsável pela gestão de informações relac
33
34
  - `code` (string): código do tipo de contato.
34
35
  - `locale` (objeto): nomes localizados, ex: `{ "pt": { "name": "Telefone" }, "en": { "name": "Phone" } }`.
35
36
 
36
- - `UpdateDTO` para atualização: campos parciais de `CreateDTO`.
37
+ - `UpdateDTO` para atualização: campos parciais de `CreateDTO`, `locale` opcional.
37
38
 
38
- **Respostas:**
39
+ **Resposta:**
39
40
 
40
41
  - Listagem paginada ou objeto do tipo criado/atualizado.
41
- - Erros: 400 para dados inválidos, 404 para não encontrado.
42
+ - Erros:
43
+ - 400 Bad Request: dados inválidos, `locale` vazio, IDs para exclusão não informados.
44
+ - 404 Not Found: tipo de contato não encontrado.
42
45
 
43
46
  ---
44
47
 
45
48
  ### Person Document Type (`/person-document-type`)
46
49
 
47
- | Método | Path | Autenticação | Descrição |
48
- |--------|--------------------|--------------|----------------------------------|
50
+ | Método | Path | Autenticação | Descrição |
51
+ |--------|----------------------|-------------------------------------|----------------------------------|
49
52
  | GET | `/person-document-type` | Autenticado (roles: admin, admin-contact) | Lista tipos de documento com paginação e locale. |
50
53
  | GET | `/person-document-type/:id` | Autenticado (roles: admin, admin-contact) | Obtém tipo de documento por ID com locale. |
51
54
  | POST | `/person-document-type` | Autenticado (roles: admin, admin-contact) | Cria um novo tipo de documento. |
@@ -60,26 +63,29 @@ O módulo `@hed-hog/contact` é responsável pela gestão de informações relac
60
63
  - `is_unique` (boolean): indica se o documento é único.
61
64
  - `locale` (objeto): nomes localizados.
62
65
 
63
- - `UpdateDTO` para atualização: campos parciais de `CreateDTO`.
66
+ - `UpdateDTO` para atualização: campos parciais de `CreateDTO`, `locale` opcional.
64
67
 
65
- **Respostas:**
68
+ **Resposta:**
66
69
 
67
70
  - Listagem paginada ou objeto do tipo criado/atualizado.
68
- - Erros: 400 para dados inválidos, 404 para não encontrado.
71
+ - Erros:
72
+ - 400 Bad Request: dados inválidos, `locale` vazio, IDs para exclusão não informados.
73
+ - 404 Not Found: tipo de documento não encontrado.
69
74
 
70
75
  ---
71
76
 
72
77
  ### Person (`/person`)
73
78
 
74
- | Método | Path | Autenticação | Descrição |
75
- |--------|--------------------|--------------|----------------------------------|
76
- | GET | `/person` | Autenticado (roles: admin, admin-contact) | Lista pessoas com filtros e paginação. |
77
- | GET | `/person/stats` | Autenticado (roles: admin, admin-contact) | Estatísticas de pessoas. |
78
- | GET | `/person/:id` | Autenticado (roles: admin, admin-contact) | Obtém pessoa por ID com detalhes. |
79
- | GET | `/person/avatar/:id` | Pública | Abre avatar público pelo ID do arquivo. |
80
- | POST | `/person` | Autenticado (roles: admin, admin-contact) | Cria uma nova pessoa. |
81
- | PATCH | `/person/:id` | Autenticado (roles: admin, admin-contact) | Atualiza pessoa existente. |
82
- | DELETE | `/person` | Autenticado (roles: admin, admin-contact) | Exclui pessoas por IDs. |
79
+ | Método | Path | Autenticação | Descrição |
80
+ |--------|----------------------|-------------------------------------|----------------------------------|
81
+ | GET | `/person` | Autenticado (roles: admin, admin-contact) | Lista pessoas com filtros e paginação. |
82
+ | GET | `/person/stats` | Autenticado (roles: admin, admin-contact) | Estatísticas de pessoas. |
83
+ | GET | `/person/owner-options` | Autenticado (roles: admin, admin-contact) | Lista usuários possíveis para atribuição como responsáveis. |
84
+ | GET | `/person/:id` | Autenticado (roles: admin, admin-contact) | Obtém pessoa por ID com detalhes. |
85
+ | GET | `/person/avatar/:id` | Pública | Abre avatar público pelo ID do arquivo. |
86
+ | POST | `/person` | Autenticado (roles: admin, admin-contact) | Cria uma nova pessoa. |
87
+ | PATCH | `/person/:id` | Autenticado (roles: admin, admin-contact) | Atualiza pessoa existente. |
88
+ | DELETE | `/person` | Autenticado (roles: admin, admin-contact) | Exclui pessoas por IDs. |
83
89
 
84
90
  **Parâmetros e corpo:**
85
91
 
@@ -90,28 +96,31 @@ O módulo `@hed-hog/contact` é responsável pela gestão de informações relac
90
96
  - Campos opcionais: `avatar_id`, `birth_date`, `gender`, `job_title`, `trade_name`, `foundation_date`, `legal_nature`, `notes`, `employer_company_id`.
91
97
 
92
98
  - `UpdateAllPersonDTO` para atualização:
93
- - Campos do `CreateDTO` e arrays para `contacts`, `addresses`, `documents`.
94
- - Cada contato, endereço e documento possui seus próprios campos e validações.
99
+ - Inclui todos os campos do `CreateDTO`.
100
+ - Arrays para `contacts`, `addresses`, `documents` com seus respectivos campos e validações.
95
101
  - Validação para garantir apenas um contato, endereço ou documento primário por tipo.
102
+ - Campo opcional `branch_ids` para empresas.
96
103
 
97
- **Respostas:**
104
+ **Resposta:**
98
105
 
99
106
  - Listagem paginada, objeto da pessoa criada/atualizada, ou estatísticas.
100
- - Erros: 400 para dados inválidos, 404 para não encontrado, validações específicas para registros de empresa.
107
+ - Erros:
108
+ - 400 Bad Request: dados inválidos, mais de um primário por tipo, referência inválida, registro de empresa desabilitado, IDs para exclusão não informados.
109
+ - 404 Not Found: pessoa não encontrada, avatar não encontrado.
101
110
 
102
111
  ---
103
112
 
104
113
  ### Person Relation Type (`/person-relation-type`)
105
114
 
106
- | Método | Path | Autenticação | Descrição |
107
- |--------|--------------------|--------------|----------------------------------|
115
+ | Método | Path | Autenticação | Descrição |
116
+ |--------|----------------------|-------------------------------------|----------------------------------|
108
117
  | GET | `/person-relation-type` | Autenticado (roles: admin, admin-contact) | Lista tipos fixos de relação entre pessoas. |
109
118
  | GET | `/person-relation-type/:id` | Autenticado (roles: admin, admin-contact) | Obtém tipo de relação por ID. |
110
119
  | POST | `/person-relation-type` | Autenticado (roles: admin, admin-contact) | **Não suportado** (tipos fixos). |
111
120
  | PATCH | `/person-relation-type/:id` | Autenticado (roles: admin, admin-contact) | **Não suportado** (tipos fixos). |
112
121
  | DELETE | `/person-relation-type` | Autenticado (roles: admin, admin-contact) | **Não suportado** (tipos fixos). |
113
122
 
114
- **Observação:** Tipos de relação são fixos e não podem ser criados, atualizados ou deletados via API.
123
+ **Observação:** Tipos de relação são fixos e não podem ser criados, atualizados ou deletados via API. Tentativas resultam em erro 400.
115
124
 
116
125
  ---
117
126
 
@@ -350,6 +359,9 @@ Inclui todos os campos do CreateDTO e:
350
359
  - Avatar público pode ser acessado via endpoint público, com cache control configurado.
351
360
  - Ao criar pessoa sem usuário, é enviado email com link para criação de conta, com token JWT válido por 1 dia.
352
361
  - Metadados como `notes` e `employer_company_id` são armazenados separadamente e sincronizados.
362
+ - Empresas não podem ser vinculadas como sua própria matriz (headquarter).
363
+ - Apenas empresas podem ser vinculadas como matriz ou filial.
364
+ - Validações específicas impedem inconsistências nas relações de empresas e indivíduos.
353
365
 
354
366
  ## 9. Guia rápido de uso (exemplos)
355
367
 
@@ -468,3 +480,4 @@ Content-Type: application/json
468
480
  ---
469
481
 
470
482
  Este README documenta as funcionalidades principais do módulo `@hed-hog/contact` com base no código e definições atuais. Para detalhes adicionais, consulte o código fonte e as definições de DTOs.
483
+ ```