No description
Adds tenants/memberships/consent_records tables, a CASL AbilityFactory keyed on membership role, and a TenantGuard that derives tenant_id from session only (never client-supplied), per blueprint 8.2/8.3/11.3. Adds outbox_events + audit_log tables, an OutboxService for transactional writes, and a Cron-based OutboxDispatcher that publishes pending events to a BullMQ queue, per blueprint 9.1 (events before intelligence). |
||
|---|---|---|
| src | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| drizzle.config.ts | ||
| nest-cli.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
ceo-api
NestJS API pentru CEO-OS. Se conecteaza la Supabase (Postgres/Auth) si Redis, deployat prin Coolify pe proiectul CEO-OS.
Dezvoltare
npm install
cp .env.example .env
npm run start:dev
GET /health returneaza statusul serviciului. GET /docs expune Swagger UI.
Stack
NestJS, Drizzle ORM (src/db), Supabase Admin SDK (src/supabase), BullMQ/Redis, class-validator/Zod, Helmet, rate limiting (Throttler), logging Pino.
Migratii
npm run db:generate
npm run db:migrate