feat: add MFA/TOTP auth, PII encryption, agents/leads/inquiries modules, and comprehensive tests
- Add TOTP-based MFA with setup, verify, disable, backup codes, and challenge flow - Add PII field encryption middleware with AES-256-GCM and deterministic search hashes - Add agents, inquiries, and leads domain modules with entities, events, value objects - Add web dashboard pages for inquiries and leads with detail dialogs - Add 30+ component tests (valuation, charts, listings, search, providers, UI) - Add Prisma migrations for encryption hash columns and MFA TOTP support - Fix all ESLint errors (unused imports, duplicate imports, lint auto-fixes) - Update dependencies and lock file - Clean up obsolete exploration/QA docs, add audit documentation Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
5
apps/api/src/modules/leads/application/index.ts
Normal file
5
apps/api/src/modules/leads/application/index.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export { CreateLeadCommand } from './commands/create-lead/create-lead.command';
|
||||
export { UpdateLeadStatusCommand } from './commands/update-lead-status/update-lead-status.command';
|
||||
export { DeleteLeadCommand } from './commands/delete-lead/delete-lead.command';
|
||||
export { GetLeadsByAgentQuery } from './queries/get-leads-by-agent/get-leads-by-agent.query';
|
||||
export { GetLeadStatsQuery } from './queries/get-lead-stats/get-lead-stats.query';
|
||||
1
apps/api/src/modules/leads/domain/entities/index.ts
Normal file
1
apps/api/src/modules/leads/domain/entities/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { LeadEntity, type LeadProps, type LeadStatus } from './lead.entity';
|
||||
2
apps/api/src/modules/leads/domain/events/index.ts
Normal file
2
apps/api/src/modules/leads/domain/events/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export { LeadCreatedEvent } from './lead-created.event';
|
||||
export { LeadStatusChangedEvent } from './lead-status-changed.event';
|
||||
4
apps/api/src/modules/leads/domain/index.ts
Normal file
4
apps/api/src/modules/leads/domain/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from './entities';
|
||||
export * from './value-objects';
|
||||
export * from './events';
|
||||
export * from './repositories';
|
||||
7
apps/api/src/modules/leads/domain/repositories/index.ts
Normal file
7
apps/api/src/modules/leads/domain/repositories/index.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export {
|
||||
LEAD_REPOSITORY,
|
||||
type ILeadRepository,
|
||||
type PaginatedResult,
|
||||
type LeadStatsData,
|
||||
} from './lead.repository';
|
||||
export { type LeadReadDto } from './lead-read.dto';
|
||||
1
apps/api/src/modules/leads/domain/value-objects/index.ts
Normal file
1
apps/api/src/modules/leads/domain/value-objects/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { LeadScore } from './lead-score.vo';
|
||||
Reference in New Issue
Block a user