Files
k-tv/crates/presentation/Cargo.toml
Gabriel Kaszewski abcf69ce7e extract background tasks into worker binary
Move auto_scheduler, library_sync, broadcast_poller, webhook_consumer
from presentation/background/ into crates/worker/src/jobs/.
Presentation is now a pure HTTP server.
2026-07-12 07:28:17 +02:00

51 lines
1.3 KiB
TOML

[package]
name = "presentation"
version = "0.1.0"
edition = "2024"
[[bin]]
name = "k-tv"
path = "src/main.rs"
[features]
default = ["sqlite", "auth-jwt", "jellyfin"]
sqlite = ["dep:adapter-sqlite", "infra-wiring/sqlite"]
auth-jwt = ["adapter-auth/jwt"]
jellyfin = ["dep:adapter-jellyfin"]
local-files = ["dep:adapter-local-files", "dep:tokio-util"]
[dependencies]
domain = { workspace = true }
application = { workspace = true }
api-types = { workspace = true }
infra-wiring = { workspace = true }
adapter-auth = { workspace = true }
adapter-event-publisher = { workspace = true }
# Feature-gated adapters
adapter-sqlite = { workspace = true, optional = true }
adapter-jellyfin = { workspace = true, optional = true }
adapter-local-files = { workspace = true, optional = true }
# Framework
axum = { workspace = true }
axum-extra = { workspace = true, features = ["typed-header"] }
tower = { workspace = true }
tower-http = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
# Utils
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }
chrono = { workspace = true }
thiserror = { workspace = true }
async-trait = { workspace = true }
anyhow = "1"
dotenvy = "0.15"
# Local-files streaming
tokio-util = { version = "0.7", features = ["io"], optional = true }