Bastian Wagner
8eb5f0a3ed
docs: record phase 02 completion
2026-08-17 16:10:36 +02:00
Bastian Wagner
854df5bb2d
fix: export guard dependencies so cross-module @UseGuards resolves
...
NestJS resolves a guard referenced via @UseGuards(SomeGuard) using the
consuming module's injector, not the guard's own declaring module's
injector. OidcAuthGuard and TripMembershipGuard are shared across
several feature modules, so every constructor dependency they need
(UsersRepository/UsersService, TripMembersRepository, etc.) must be
re-exported by AuthModule/TripsLibModule/UsersLibModule, not just the
guard classes themselves. Found via the Phase 02 end-to-end smoke test
against a mocked IdP, which failed to boot the API before this fix.
2026-08-17 16:10:27 +02:00
Bastian Wagner
60e09d5050
chore: wire oidc environment configuration
2026-08-17 15:54:30 +02:00
Bastian Wagner
6e991bfd00
feat: add minimal trips list, create trip, and members ui
2026-08-17 15:49:32 +02:00
Bastian Wagner
bd91a3da4a
feat: add oidc authorization code with pkce login flow
2026-08-17 15:43:17 +02:00
Bastian Wagner
dedb3fff40
feat: add trip preference overrides with precedence resolution
2026-08-17 15:38:03 +02:00
Bastian Wagner
ee7ec94ea0
feat: add traveler entity distinct from trip membership
2026-08-17 15:28:35 +02:00
Bastian Wagner
6954024622
feat: add trip invitation creation and acceptance flow
2026-08-17 15:21:08 +02:00
Bastian Wagner
baae15dcbc
feat: enforce trip membership and role authorization
2026-08-17 15:13:23 +02:00
Bastian Wagner
ddf1d03447
feat: add trip and trip settings with optimistic locking
2026-08-17 15:06:00 +02:00
Bastian Wagner
2eb1692216
feat: expose current user and preference endpoints
2026-08-17 14:59:01 +02:00
Bastian Wagner
5abc7cbe29
feat: verify oidc bearer tokens and jit-provision users
2026-08-17 14:54:42 +02:00
Bastian Wagner
7ca4bd9cf7
feat: add user jit provisioning and preferences service
2026-08-17 14:43:13 +02:00
Bastian Wagner
ec95a8e527
feat: add versioned migrations and kysely query layer
2026-08-17 14:33:28 +02:00
Bastian Wagner
acfbb3ab22
docs: add phase 02 implementation plan
2026-08-17 14:23:22 +02:00
Bastian Wagner
a7ce7c3730
fix: wire version module into api module
2026-08-17 14:09:13 +02:00
Bastian Wagner
74ae283fea
feat: expose safe build metadata and verify foundation
2026-08-17 14:08:56 +02:00
Bastian Wagner
1957e3b337
chore: mark teamcity scripts executable
2026-08-17 13:53:24 +02:00
Bastian Wagner
2994e46274
ci: add teamcity build and deployment entry points
2026-08-17 13:53:01 +02:00
Bastian Wagner
ccea4e48ec
test: enforce production docker network invariants
2026-08-17 13:45:14 +02:00
Bastian Wagner
5edb16de73
feat: add single-port production docker topology
2026-08-17 13:43:52 +02:00
Bastian Wagner
0815f702d2
feat: add api liveness and readiness checks
2026-08-17 13:39:15 +02:00
Bastian Wagner
db6d62c303
chore: add postgres and redis development services
2026-08-17 13:33:00 +02:00
Bastian Wagner
755cc88dc2
feat: add angular pwa shell
2026-08-17 13:31:38 +02:00
Bastian Wagner
ceaef3028f
feat: validate backend runtime configuration
2026-08-17 13:26:38 +02:00
Bastian Wagner
a08eecd4e3
feat: add nestjs api and worker skeletons
2026-08-17 13:18:24 +02:00
Bastian Wagner
c23bda56a3
chore: establish travel planner pnpm workspace
2026-08-17 13:09:32 +02:00
Bastian Wagner
2c91596c48
docs: adjust phase 01 plan for pre-existing angular/nestjs scaffold
2026-08-17 12:59:32 +02:00
Bastian Wagner
feff7c717e
initial
2026-08-17 12:49:36 +02:00