Commit Graph

24 Commits

Author SHA1 Message Date
56d742a74c presentation: HTTP server crate w/ handlers, routes, background tasks
Axum binary that wires all clean-arch crates together:
- AppState holds pre-built Deps structs (auth, channels, schedule, library, etc.)
- JWT extractors (CurrentUser, AdminUser, OptionalCurrentUser)
- Handlers delegate to application use cases, map to api-types DTOs
- Routes: auth, channels, schedule, library, admin, providers, config, iptv
- Background: auto-scheduler, broadcast poller, webhook consumer, library sync
- Factory builds everything from Config + DbPool
- SimpleProviderRegistry impl of IProviderRegistry trait
- NoopMediaProvider fallback
2026-07-12 03:23:20 +02:00
afed5c01b4 adapter-event-publisher: broadcast channel event bus 2026-07-12 02:54:43 +02:00
b93b14efe4 adapter-local-files: media provider, index, transcoder 2026-07-12 02:53:27 +02:00
e389e9e002 adapter-jellyfin: media provider 2026-07-12 02:47:13 +02:00
72ef9b9e1b adapter-auth: JWT, OIDC, password hashing 2026-07-12 02:44:16 +02:00
0fe80b545e adapter-postgres: all repository implementations 2026-07-12 02:39:56 +02:00
e8179d1f53 adapter-sqlite: all repo implementations + wire fn + migrations copy 2026-07-12 02:34:12 +02:00
1428f264bb adapter-common: shared DB mapping helpers 2026-07-12 02:26:42 +02:00
4cdde568f6 infra-wiring: DbPool enum + Config from env 2026-07-12 02:23:20 +02:00
1410d3e6bb api-types: HTTP DTOs with utoipa OpenAPI derives 2026-07-12 02:20:41 +02:00
466d34b5d0 application: config_snapshots, admin, providers, iptv 2026-07-12 02:14:07 +02:00
ebf0614fdf application: library bounded context 2026-07-12 02:08:04 +02:00
ef86a967cd application: schedule bounded context 2026-07-12 02:02:23 +02:00
6fd47f2d93 application: channels bounded context
CQRS use cases (create/update/delete/get/list/list_by_owner),
ownership checks, auto-snapshot on config change.
Channel setters added to domain model.
2026-07-12 01:57:38 +02:00
2976600d12 application: auth bounded context (register, login) 2026-07-12 01:49:34 +02:00
848d4752e2 domain testing: InMemory repos + Noops behind test-helpers 2026-07-12 01:41:23 +02:00
7ddf94c75f domain services: schedule engine, fill strategies, IPTV 2026-07-12 01:35:01 +02:00
87e7d85239 domain events: DomainEvent enum w/ ID-only variants 2026-07-12 01:29:40 +02:00
6d12ac4c5e fix domain ports: add EventConsumer, use ID newtypes 2026-07-12 01:27:38 +02:00
0166e829c1 domain ports: CQRS-split traits for all bounded contexts 2026-07-12 01:23:38 +02:00
616c60e213 domain models: schedule, library, config_snapshot, activity, provider_config 2026-07-12 01:17:44 +02:00
528b155327 domain models: User, Channel, ScheduleConfig, MediaItem, PlaybackRecord 2026-07-12 01:11:11 +02:00
b2e71403d8 domain value objects: auth, scheduling, channel, oidc, search 2026-07-12 01:05:31 +02:00
3ff146615f scaffold workspace + domain crate (errors, ids, uuid_id macro) 2026-07-12 01:00:50 +02:00