No description
Adds /v1/dataquery/* endpoints proxying to dataquery-api (ClickHouse) and Yente/OpenSanctions (Hetzner): POST /v1/dataquery/company/lookup — search RO/DE/UK/US registries POST /v1/dataquery/sanctions — OFAC SDN + OpenSanctions (HIT/CLEAR) GET /v1/dataquery/:group/schema — ClickHouse group schema POST /v1/dataquery/:group/query — raw SELECT within group scope SQL injection prevention via sanitize() + dataquery-api table-scope enforcement. Timeouts: 12s per upstream call. Promise.allSettled for parallel fan-out. |
||
|---|---|---|
| docs | ||
| drizzle | ||
| scripts | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| drizzle.config.ts | ||
| jest.config.js | ||
| 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