@hed-hog/contact-us 0.0.274 → 0.0.276

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.
Files changed (2) hide show
  1. package/README.md +101 -55
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -16,20 +16,28 @@ O módulo `@hed-hog/contact-us` é responsável pela gestão das mensagens envia
16
16
 
17
17
  ### GET /contact-us/settings
18
18
 
19
- - **Autenticação:** Pública
20
- - **Descrição:** Retorna as configurações relacionadas ao contato, como telefone e e-mail de contato.
21
- - **Parâmetros:** Nenhum
22
- - **Resposta:** Objeto com as configurações `contact-us-phone` e `contact-us-email`.
19
+ - **Método:** GET
20
+ - **Autenticação:** Pública
21
+ - **Descrição:** Retorna as configurações relacionadas ao contato, como telefone e e-mail de contato.
22
+ - **Parâmetros:** Nenhum
23
+ - **Resposta:**
24
+ ```json
25
+ {
26
+ "contact-us-phone": "string",
27
+ "contact-us-email": "string"
28
+ }
29
+ ```
23
30
  - **Erros:** Nenhum específico.
24
31
 
25
32
  ---
26
33
 
27
34
  ### GET /contact-us/stats
28
35
 
29
- - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
30
- - **Descrição:** Retorna estatísticas das mensagens de contato, incluindo totais por status.
31
- - **Parâmetros:** Nenhum
32
- - **Resposta:**
36
+ - **Método:** GET
37
+ - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
38
+ - **Descrição:** Retorna estatísticas das mensagens de contato, incluindo totais por status.
39
+ - **Parâmetros:** Nenhum
40
+ - **Resposta:**
33
41
  ```json
34
42
  {
35
43
  "total": number,
@@ -38,34 +46,67 @@ O módulo `@hed-hog/contact-us` é responsável pela gestão das mensagens envia
38
46
  "totalProgress": number,
39
47
  "totalArchived": number
40
48
  }
41
- ```
49
+ ```
42
50
  - **Erros:** Nenhum específico.
43
51
 
44
52
  ---
45
53
 
46
54
  ### GET /contact-us/:id
47
55
 
48
- - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
49
- - **Descrição:** Retorna os detalhes de uma mensagem de contato pelo seu ID.
50
- - **Parâmetros:**
51
- - `id` (path): número inteiro identificador da mensagem.
52
- - **Resposta:** Objeto com os dados completos da mensagem, incluindo usuário e resposta.
53
- - **Erros:**
56
+ - **Método:** GET
57
+ - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
58
+ - **Descrição:** Retorna os detalhes de uma mensagem de contato pelo seu ID.
59
+ - **Parâmetros:**
60
+ - `id` (path): número inteiro identificador da mensagem.
61
+ - **Resposta:** Objeto com os dados completos da mensagem, incluindo usuário e resposta, exemplo:
62
+ ```json
63
+ {
64
+ "id": number,
65
+ "name": "string",
66
+ "email": "string",
67
+ "message": "string",
68
+ "response": "string | null",
69
+ "status": "new" | "progress" | "answered" | "archived",
70
+ "created_at": "string (datetime)",
71
+ "updated_at": "string (datetime)",
72
+ "response_at": "string (datetime) | null",
73
+ "user_id": number | null,
74
+ "response_id": number | null,
75
+ "user_contact_us_response_idTouser": object,
76
+ "user_contact_us_user_idTouser": object
77
+ }
78
+ ```
79
+ - **Erros:**
54
80
  - `404 Not Found`: Mensagem não encontrada.
55
81
 
56
82
  ---
57
83
 
58
84
  ### GET /contact-us
59
85
 
60
- - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
61
- - **Descrição:** Lista mensagens de contato com paginação e filtro opcional por status e busca textual.
62
- - **Query Parameters:**
63
- - `status` (string, opcional): filtro por status (`new`, `progress`, `answered`, `archived`, `all`).
64
- - Parâmetros de paginação via `@hed-hog/api-pagination` (ex: `take`, `skip`, `search`).
65
- - **Resposta:**
86
+ - **Método:** GET
87
+ - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
88
+ - **Descrição:** Lista mensagens de contato com paginação e filtro opcional por status e busca textual.
89
+ - **Query Parameters:**
90
+ - `status` (string, opcional): filtro por status (`new`, `progress`, `answered`, `archived`, `all`).
91
+ - Parâmetros de paginação via `@hed-hog/api-pagination` (ex: `take`, `skip`, `search`).
92
+ - **Resposta:**
66
93
  ```json
67
94
  {
68
- "data": [/* array de mensagens */],
95
+ "data": [
96
+ {
97
+ "id": number,
98
+ "name": "string",
99
+ "email": "string",
100
+ "message": "string",
101
+ "response": "string | null",
102
+ "status": "new" | "progress" | "answered" | "archived",
103
+ "created_at": "string (datetime)",
104
+ "updated_at": "string (datetime)",
105
+ "response_at": "string (datetime) | null",
106
+ "user_id": number | null,
107
+ "response_id": number | null
108
+ }
109
+ ],
69
110
  "total": number,
70
111
  "page": number,
71
112
  "pageSize": number,
@@ -73,75 +114,79 @@ O módulo `@hed-hog/contact-us` é responsável pela gestão das mensagens envia
73
114
  "next": number | null,
74
115
  "lastPage": number
75
116
  }
76
- ```
117
+ ```
77
118
  - **Erros:** Nenhum específico.
78
119
 
79
120
  ---
80
121
 
81
122
  ### DELETE /contact-us/:id
82
123
 
83
- - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
84
- - **Descrição:** Exclui uma mensagem de contato pelo seu ID.
85
- - **Parâmetros:**
86
- - `id` (path): número inteiro identificador da mensagem.
87
- - **Resposta:** Objeto da mensagem excluída.
88
- - **Erros:**
124
+ - **Método:** DELETE
125
+ - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
126
+ - **Descrição:** Exclui uma mensagem de contato pelo seu ID.
127
+ - **Parâmetros:**
128
+ - `id` (path): número inteiro identificador da mensagem.
129
+ - **Resposta:** Objeto da mensagem excluída (mesma estrutura do objeto mensagem).
130
+ - **Erros:**
89
131
  - `404 Not Found`: Mensagem não encontrada.
90
132
 
91
133
  ---
92
134
 
93
135
  ### PATCH /contact-us/status/:id
94
136
 
95
- - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
96
- - **Descrição:** Atualiza o status de uma mensagem de contato.
97
- - **Parâmetros:**
98
- - `id` (path): número inteiro identificador da mensagem.
99
- - **Body:**
137
+ - **Método:** PATCH
138
+ - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
139
+ - **Descrição:** Atualiza o status de uma mensagem de contato.
140
+ - **Parâmetros:**
141
+ - `id` (path): número inteiro identificador da mensagem.
142
+ - **Body:**
100
143
  ```json
101
144
  {
102
145
  "status": "new" | "progress" | "answered" | "archived"
103
146
  }
104
- ```
105
- - **Resposta:** Objeto da mensagem atualizada.
106
- - **Erros:**
107
- - `404 Not Found`: Mensagem não encontrada.
147
+ ```
148
+ - **Resposta:** Objeto da mensagem atualizada (mesma estrutura do objeto mensagem).
149
+ - **Erros:**
150
+ - `404 Not Found`: Mensagem não encontrada.
108
151
  - `400 Bad Request`: Status inválido.
109
152
 
110
153
  ---
111
154
 
112
155
  ### POST /contact-us/response/:id
113
156
 
114
- - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
115
- - **Descrição:** Envia uma resposta para uma mensagem de contato e notifica o usuário por e-mail.
116
- - **Parâmetros:**
117
- - `id` (path): número inteiro identificador da mensagem.
118
- - **Body:**
157
+ - **Método:** POST
158
+ - **Autenticação:** Requer papel `admin` ou `admin-contact-us`
159
+ - **Descrição:** Envia uma resposta para uma mensagem de contato e notifica o usuário por e-mail.
160
+ - **Parâmetros:**
161
+ - `id` (path): número inteiro identificador da mensagem.
162
+ - **Body:**
119
163
  ```json
120
164
  {
121
165
  "response": "string"
122
166
  }
123
- ```
124
- - **Resposta:** Texto da resposta enviada.
125
- - **Erros:**
126
- - `404 Not Found`: Mensagem não encontrada.
167
+ ```
168
+ - **Resposta:** Texto da resposta enviada.
169
+ - **Erros:**
170
+ - `404 Not Found`: Mensagem não encontrada.
127
171
  - `400 Bad Request`: Resposta inválida.
128
172
 
129
173
  ---
130
174
 
131
175
  ### POST /contact-us
132
176
 
133
- - **Autenticação:** Pública
134
- - **Descrição:** Cria uma nova mensagem de contato.
135
- - **Body:**
177
+ - **Método:** POST
178
+ - **Autenticação:** Pública
179
+ - **Descrição:** Cria uma nova mensagem de contato.
180
+ - **Body:**
136
181
  ```json
137
182
  {
138
183
  "name": "string",
139
184
  "email": "string (email válido)",
140
185
  "message": "string"
141
186
  }
142
- ```
143
- - **Resposta:** Objeto da mensagem criada.
144
- - **Erros:**
187
+ ```
188
+ - **Resposta:** Objeto da mensagem criada (mesma estrutura do objeto mensagem).
189
+ - **Erros:**
145
190
  - `400 Bad Request`: E-mail inválido ou dados inválidos.
146
191
 
147
192
  ## 4. Regras de autenticação e autorização
@@ -259,15 +304,16 @@ enums:
259
304
  ## 8. Regras de negócio relevantes
260
305
 
261
306
  - O status inicial de uma mensagem é sempre `new`.
262
- - A resposta a uma mensagem atualiza o status para `answered` e registra o usuário que respondeu.
307
+ - A resposta a uma mensagem atualiza o status para `answered`, registra o usuário que respondeu e a data da resposta.
263
308
  - Mensagens podem ser filtradas por status e texto em nome, e-mail, mensagem ou resposta.
264
- - Ao criar uma mensagem, se o e-mail estiver associado a um usuário, o `user_id` é vinculado.
309
+ - Ao criar uma mensagem, se o e-mail estiver associado a um usuário, o `user_id` é vinculado automaticamente.
265
310
  - Envio automático de e-mails:
266
311
  - Confirmação para o cliente que enviou a mensagem.
267
312
  - Notificação para o e-mail configurado em `contact-us-email-to`.
268
313
  - Resposta enviada ao cliente quando um administrador responde.
269
314
  - Validação rigorosa do e-mail no momento da criação da mensagem.
270
315
  - Exclusão de mensagens remove o registro do banco.
316
+ - Atualização de status aceita somente os valores válidos do enum, ignorando o valor `all` (que é convertido para `new` internamente).
271
317
 
272
318
  ## 9. Guia rápido de uso (exemplos)
273
319
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/contact-us",
3
- "version": "0.0.274",
3
+ "version": "0.0.276",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -10,7 +10,7 @@
10
10
  "@nestjs/jwt": "^11",
11
11
  "@nestjs/mapped-types": "*",
12
12
  "@hed-hog/api-locale": "0.0.13",
13
- "@hed-hog/core": "0.0.274",
13
+ "@hed-hog/core": "0.0.276",
14
14
  "@hed-hog/api-prisma": "0.0.5",
15
15
  "@hed-hog/api-pagination": "0.0.6",
16
16
  "@hed-hog/api": "0.0.4"