Commit graph

94 commits

Author SHA1 Message Date
ae7b1d63b1 feat(cc-053): DecisionsController — log decizii 2026-08-01 10:43:34 +00:00
b0415c6e76 feat(cc-053): GoalsModule 2026-08-01 10:43:34 +00:00
04f142e7ea feat(cc-053): GoalsController — CRUD pentru obiective OKR 2026-08-01 10:43:33 +00:00
871dac9f0a feat(cc-052): register FinancialIntelligenceModule 2026-08-01 10:32:05 +00:00
0cd84f18c4 feat(cc-052): FinancialIntelligenceModule 2026-08-01 10:32:04 +00:00
0b2c515fe7 feat(cc-052): IngestSignalsDto 2026-08-01 10:32:04 +00:00
ebbbff123f feat(cc-052): FinancialIntelligenceController 2026-08-01 10:32:03 +00:00
b769613e49 feat(cc-052): copy drizzle/ migrations into final Docker image 2026-08-01 10:32:02 +00:00
c923d6a042 feat(cc-052): run drizzle migrations at startup 2026-08-01 10:32:02 +00:00
2408925264 feat(cc-052): add financialSignals table to schema 2026-08-01 10:32:01 +00:00
46a152dd13 feat(cc-052): add 0009_financial_intelligence to drizzle journal 2026-08-01 10:32:00 +00:00
ae7be88829 feat(cc-052): migration 0009 — financial_signals table 2026-08-01 10:31:59 +00:00
53eef93e84 feat(cc-050): register AiRequestsModule in AppModule 2026-08-01 09:57:54 +00:00
a08e43aedb feat(cc-050): add AiRequestsModule 2026-08-01 09:57:53 +00:00
ddb39df95f feat(cc-050): add AiRequests controller (list + costs) 2026-08-01 09:57:52 +00:00
dccd0bbffa feat(audit): register AuditLogController in AuditModule 2026-07-31 17:12:00 +00:00
af81d10242 feat(audit): expose GET /v1/audit-log endpoint (last N entries, tenant-scoped) 2026-07-31 17:11:59 +00:00
2af9b5c94a fix(tst-005): use v4-compliant UUIDs — @IsUUID() requires version nibble=4 2026-07-31 15:25:40 +00:00
9cf210976c fix(tst-005): use v4-compliant UUIDs, replace __proto__ with hackField for non-whitelisted test 2026-07-31 15:25:39 +00:00
8d6a2c2086 fix(tst-005): fix PATCH route (/:id not /:id/evidence), fix mock method names 2026-07-31 15:20:28 +00:00
469adb64fa docs(aud-007): CC-047 business continuity audit — RTO/RPO, backup findings 2026-07-31 15:18:39 +00:00
a0bef9fea3 feat(tst-017): DR test script — container crash + RTO measurement 2026-07-31 15:18:37 +00:00
f5712a90b2 feat(tst-016): backup/restore test script — Zerobyte integrity verify 2026-07-31 15:18:36 +00:00
904cca507e test(tst-005): Transactions API integration tests — amountMinorUnits, evidenceStatus 2026-07-31 15:18:36 +00:00
417133e2d4 test(tst-005): Goals API integration tests — validation, routing, auth 2026-07-31 15:18:35 +00:00
5ac1fcb5d5 docs(ins-010): CC-047 dependency audit — drizzle-orm SQLi + devDep vulns 2026-07-31 15:18:34 +00:00
e7efa65604 chore: regenerate lockfile — consistent @types/supertest@6.0.3 2026-07-31 15:07:43 +00:00
2e82700e02 fix(deps): align @types/supertest version with resolved lock entry (6.0.3) 2026-07-31 15:07:43 +00:00
825e2cc8b7 fix(test): self-contained stub guard in TST-012 — no DB/Supabase imports 2026-07-31 15:05:57 +00:00
020b0c21da fix(test): mock db+supabase at module level so SessionGuard loads without real DB in TST-012 2026-07-31 15:03:40 +00:00
694ba7a5a6 fix(test): default import for supertest (esModuleInterop), add CASL member high-risk denial test 2026-07-31 15:01:46 +00:00
e3b5cca72c chore: regenerate lockfile after supertest devDep addition 2026-07-31 15:00:09 +00:00
4f801d6964 fix(deps): add supertest + @types/supertest devDeps for TST-012 security tests 2026-07-31 15:00:08 +00:00
b9f9c970b7 fix(ts): cast SupabaseClient through unknown in Proxy get trap (TS2352) 2026-07-31 15:00:07 +00:00
ebbac2dc58 docs(privacy): PRV-005 GDPR Legal Basis Registry — CC-046 securizare 2026-07-31 14:58:03 +00:00
e22215ab64 test(security): TST-012 HTTP-level security test suite (auth, headers, CORS, CASL, route enum) 2026-07-31 14:57:03 +00:00
1c784b654f feat(security): Goal/Decision/Observation/Opportunity as explicit CASL subjects for member role (SEC-004/F4) 2026-07-31 14:57:02 +00:00
ace0000349 fix(security): startup env validation + CORS origin filter (SEC-012/F6) 2026-07-31 14:57:01 +00:00
7d43bc6b70 fix(security): USER node + HEALTHCHECK in production stage (SEC-013/F9/F11) 2026-07-31 14:57:01 +00:00
97c32222ce fix(supabase): lazy client init — validates env vars at first use, not at import time 2026-07-31 14:44:00 +00:00
c7e09ed647 test(integration): audit log, outbox atomicity and transaction minor units tests 2026-07-31 14:40:30 +00:00
458217a0ec test(integration): tenant isolation tests for goals and organizations 2026-07-31 14:40:29 +00:00
c3b0005e19 feat(db): versioned Drizzle migration for workspace_id columns (CC-044 backfill) 2026-07-31 14:39:24 +00:00
21c6ff2fde feat(schema): add workspaceId to 11 tables missing from Drizzle ORM (organizations, tasks, goals, decisions, transactions, documents, opportunities, observations, ai_requests, research_briefs, saved_segments) 2026-07-31 14:39:23 +00:00
f5ac5f11f1 chore: regenerate package-lock.json after dependency version fixes 2026-07-31 14:36:21 +00:00
94506c8f80 fix(deps): @nestjs/schedule ^5.0.0 + @nestjs/testing devDep for NestJS 11 compatibility 2026-07-31 14:36:19 +00:00
0e016edec2 fix(opportunities): enforce @IsInt() on valueRangeMin/Max to prevent float input 2026-07-31 10:48:40 +00:00
6c44c327cf fix(transactions): remove ad-hoc UUID regex, use ParseUUIDPipe for path params 2026-07-31 10:48:38 +00:00
3b1b14e380 fix(decisions): wrap mutations in db.transaction() for audit atomicity 2026-07-31 10:48:37 +00:00
880c2a7018 test(transactions): add unit tests for TransactionsService 2026-07-31 10:47:16 +00:00