|
|
93e76d4487
|
feat(cc-053): DecisionsModule
|
2026-08-01 10:43:35 +00:00 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
b9f9c970b7
|
fix(ts): cast SupabaseClient through unknown in Proxy get trap (TS2352)
|
2026-07-31 15:00:07 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
844dd81af2
|
feat(transactions): add dto
|
2026-07-31 10:44:56 +00:00 |
|