@koalarx/nest 1.17.0 → 1.17.1

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 +31 -8
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -51,12 +51,14 @@ npm run start:dev
51
51
  - [x] Módulo DDD configurado
52
52
  - [x] Documentação da API (Scalar UI)
53
53
  - [x] Tratamento de erros robusto
54
- - [x] Autenticação JWT
54
+ - [x] Guards de autenticação (JWT + API Key)
55
55
  - [x] Banco de dados Prisma
56
56
  - [x] Redis para background services
57
57
 
58
58
  ### Forma Manual
59
59
 
60
+ > ⚠️ **Requisito Obrigatório**: A abstração de banco de dados da biblioteca requer **Prisma como ORM**. Siga a [Configuração Inicial - Prisma](./docs/02-configuracao-inicial.md#configurar-prisma-obrigatório) para setup correto.
61
+
60
62
  ```bash
61
63
  npm install @koalarx/nest
62
64
  ```
@@ -119,9 +121,10 @@ Acesse `http://localhost:3000/doc` para a documentação interativa!
119
121
 
120
122
  ### Segurança
121
123
 
122
- - **Guards Globais**: Proteja endpoints com autenticação
123
- - **API Key Strategy**: Autenticação via chave de API integrada
124
+ - **Guards**: Autenticação e autorização (JWT + API Key)
125
+ - **Estratégias Customizadas**: JwtStrategy e ApiKeyStrategy
124
126
  - **@IsPublic()**: Marca endpoints como públicos
127
+ - **@RestrictByProfile()**: Restringe acesso por perfil de usuário
125
128
 
126
129
  ### Tratamento de Erros
127
130
 
@@ -155,15 +158,24 @@ export class SendReportJob extends CronJobHandlerBase {
155
158
  .addCronJob(SendReportJob)
156
159
  ```
157
160
 
158
- **Event Handlers** - Processe eventos assincronamente:
161
+ **Event Jobs** - Processe eventos assincronamente:
159
162
  ```typescript
160
163
  @Injectable()
161
164
  export class UserCreatedHandler extends EventHandlerBase {
162
- get eventName(): string { return 'user:created' }
163
- async handle(data: any): Promise<void> { /* sua lógica */ }
165
+ async handleEvent(): Promise<void> {
166
+ // Processar evento de criação de usuário
167
+ console.log('Usuário criado!')
168
+ }
169
+ }
170
+
171
+ // Registrar em EventJob
172
+ export class UserEventJob extends EventJob<User> {
173
+ defineHandlers(): Type<EventHandlerBase>[] {
174
+ return [UserCreatedHandler]
175
+ }
164
176
  }
165
177
 
166
- .addEventJob(UserCreatedHandler)
178
+ .addEventJob(UserEventJob)
167
179
  ```
168
180
 
169
181
  ### Banco de Dados
@@ -310,14 +322,25 @@ src/
310
322
 
311
323
  ## Configuração de Ambiente
312
324
 
325
+ A lib já valida automaticamente as variáveis padrão. Crie seu `.env` com:
326
+
313
327
  ```env
328
+ # Variáveis obrigatórias
314
329
  NODE_ENV=develop
315
330
  DATABASE_URL=postgresql://user:password@localhost:5432/db
316
- REDIS_URL=redis://localhost:6379
331
+
332
+ # Variáveis opcionais (padrão da lib)
333
+ REDIS_CONNECTION_STRING=redis://localhost:6379
317
334
  SWAGGER_USERNAME=admin
318
335
  SWAGGER_PASSWORD=password123
336
+ PRISMA_QUERY_LOG=false
337
+
338
+ # Suas variáveis customizadas
339
+ # CUSTOM_VAR=value
319
340
  ```
320
341
 
342
+ Ver [Configuração Inicial - Variáveis de Ambiente](./docs/02-configuracao-inicial.md#2-configurar-variáveis-de-ambiente) para detalhes.
343
+
321
344
  ## Índice da Documentação Original
322
345
 
323
346
  A documentação abaixo foi mantida para referência de recursos específicos:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koalarx/nest",
3
- "version": "1.17.0",
3
+ "version": "1.17.1",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",