Fecha as duas pendências da leva anterior (módulo de Assinatura Eletrônica): tela de backoffice para gerenciar envelopes (criação, envio, cancelamento, checkpoint/finalização, auditoria) e as duas páginas públicas (/assinar/:token, /verificar/:verificationId). Backend: novos endpoints de streaming de PDF (documento congelado e PDF final consolidado, autenticados e via token público) que faltavam para a UI funcionar — o signatário não tinha como ver o próprio documento antes de confirmar leitura. Rate limiting (guard próprio, em memória, chaves por IP e por token) em todas as rotas sem sessão: auth (login/mfa/forgot-password/reset-password/refresh/logout) e todo o fluxo público de assinatura/verificação. Suíte: 77/77 verdes. pnpm turbo run typecheck build: 28/28. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
29 lines
1000 B
TypeScript
29 lines
1000 B
TypeScript
import { Module } from "@nestjs/common";
|
|
import { AuthController } from "./auth.controller.js";
|
|
import { AuthService } from "./auth.service.js";
|
|
import { PasswordService } from "./password.service.js";
|
|
import { TokenService } from "./token.service.js";
|
|
import { MfaService } from "./mfa.service.js";
|
|
import { JwtAuthGuard } from "./jwt-auth.guard.js";
|
|
import { PermissionGuard } from "./permission.guard.js";
|
|
import { SuperAdminGuard } from "./super-admin.guard.js";
|
|
import { FieldEncryptionService } from "../crypto/field-encryption.service.js";
|
|
import { RateLimitModule } from "../common/rate-limit/rate-limit.module.js";
|
|
|
|
@Module({
|
|
imports: [RateLimitModule],
|
|
controllers: [AuthController],
|
|
providers: [
|
|
AuthService,
|
|
PasswordService,
|
|
TokenService,
|
|
MfaService,
|
|
FieldEncryptionService,
|
|
JwtAuthGuard,
|
|
PermissionGuard,
|
|
SuperAdminGuard,
|
|
],
|
|
exports: [PasswordService, TokenService, JwtAuthGuard, PermissionGuard, SuperAdminGuard],
|
|
})
|
|
export class AuthModule {}
|