Commit graph

80 commits

Author SHA1 Message Date
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
19fd999441 test(goals): add unit tests for GoalsService 2026-07-31 10:47:15 +00:00
281fb9e780 feat(projection): wire transactionsUnclassifiedCount to executive dashboard 2026-07-31 10:46:11 +00:00
bdcf63e2a6 feat: register Goals, Decisions, Transactions, Observations, Opportunities modules 2026-07-31 10:45:07 +00:00
7569d7ee87 feat(opportunities): add opportunities.module 2026-07-31 10:45:06 +00:00
5caa233bea feat(opportunities): add opportunities.controller 2026-07-31 10:45:05 +00:00
80fd3e0b4e feat(opportunities): add opportunities.service 2026-07-31 10:45:04 +00:00
0243e78fea feat(opportunities): add dto 2026-07-31 10:45:03 +00:00
0105bf1f73 feat(observations): add observations.module 2026-07-31 10:45:02 +00:00
8db3ccf300 feat(observations): add observations.controller 2026-07-31 10:45:01 +00:00
f2733c6e72 feat(observations): add observations.service 2026-07-31 10:45:01 +00:00
3cd2bdc82b feat(observations): add dto 2026-07-31 10:45:00 +00:00
4315e7f31f feat(transactions): add transactions.module 2026-07-31 10:44:59 +00:00
78d60c69ab feat(transactions): add transactions.controller 2026-07-31 10:44:58 +00:00
a80bd5080b feat(transactions): add transactions.service 2026-07-31 10:44:57 +00:00