feat: add axum dependency and implement wiring functions for federation repositories

This commit is contained in:
2026-05-10 18:58:41 +02:00
parent 810d051dee
commit e461c689d9
12 changed files with 138 additions and 130 deletions

View File

@@ -4,6 +4,7 @@ version = "0.1.0"
edition = "2024"
[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
reqwest = { workspace = true }
serde = { workspace = true }

View File

@@ -65,3 +65,14 @@ impl MetadataClient for MetadataClientImpl {
Ok(pm.poster_url)
}
}
pub fn create() -> anyhow::Result<std::sync::Arc<dyn domain::ports::MetadataClient>> {
use anyhow::Context;
if let Ok(key) = std::env::var("TMDB_API_KEY") {
Ok(std::sync::Arc::new(MetadataClientImpl::new_tmdb(key)))
} else {
let key = std::env::var("OMDB_API_KEY")
.context("either TMDB_API_KEY or OMDB_API_KEY must be set")?;
Ok(std::sync::Arc::new(MetadataClientImpl::new_omdb(key)))
}
}