[package]
name = "pmoplaylist"
version = "0.1.0"
edition = "2021"

[dependencies]
# Caches PMO
pmoaudiocache = { path = "../pmoaudiocache" }
pmocache = { path = "../pmocache" }

# Métadonnées
pmometadata = { path = "../pmometadata" }

# DIDL-Lite pour UPnP
pmodidl = { path = "../pmodidl" }

# Configuration (optionnelle)
pmoconfig = { path = "../pmoconfig", optional = true }

# Base de données
rusqlite = { version = "0.37", features = ["bundled"] }

# Utilitaires
anyhow = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }

# Async
tokio = { workspace = true }

# Singleton
once_cell = "1.20"

# Logging
tracing = { workspace = true }
chrono = { workspace = true }
axum = { version = "0.8", optional = true, features = ["macros", "json"] }
tokio-stream = { version = "0.1", optional = true, features = ["sync"] }
utoipa = { version = "5.4", optional = true, features = ["axum_extras", "chrono"] }
async-stream = { version = "0.3", optional = true }

[features]
default = ["pmoconfig"]
pmoconfig = ["dep:pmoconfig"]
pmoserver = ["dep:axum", "dep:tokio-stream", "dep:utoipa", "dep:async-stream"]
