The CORS middleware is named cors-api, not cors-headers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PgBouncer in transaction pool mode strips the search_path startup parameter, which Prisma needs for the app_crm schema. CRM now connects directly to PostgreSQL. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PgBouncer listens internally on port 5432, not 6432. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Eigenstaendiger NestJS-Service unter packages/crm-service/ mit: - Prisma Schema (app_crm): Contact, Activity, Pipeline, PipelineStage, Deal - JWT RS256 Auth mit shared Public Key und Token-Revocation - Multi-Tenancy: TenantGuard + tenantId-Filter auf allen Queries - CRUD-Module: Contacts, Activities, Pipelines, Deals - Docker-Integration: docker-compose.crm.yml (Port 3100, Traefik-Route /api/v1/crm) - Health-Check, Swagger, GlobalExceptionFilter, Pagination Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>