|
|
eff14228af
|
refactor(api-types): strip comments, extract DEFAULT_ACCESS_MODE constant
|
2026-07-12 04:12:51 +02:00 |
|
|
|
9dcd169689
|
refactor(application): strip comments, DRY ownership check + parse_content_type
|
2026-07-12 04:10:58 +02:00 |
|
|
|
98a54245b1
|
domain crate code quality cleanup
strip all comments, extract tests to tests/ dirs,
remove #[allow(clippy::...)], extract magic numbers to
constants, refactor schedule engine private methods to
use param structs, add Default impls, clippy.toml for
persistence constructors
|
2026-07-12 04:02:12 +02:00 |
|
|
|
dd4389d53e
|
deprecate k-tv-backend, fix workspace feature-unification build
|
2026-07-12 03:35:09 +02:00 |
|
|
|
c869e9ab84
|
mcp: MCP server calling application use cases
|
2026-07-12 03:31:08 +02:00 |
|
|
|
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 |
|