Reviewed-on: #26
This commit was merged in pull request #26.
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
[package]
|
||||
name = "metadata"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
edition.workspace = true
|
||||
|
||||
[dependencies]
|
||||
config = { workspace = true }
|
||||
anyhow = { workspace = true }
|
||||
async-trait = { workspace = true }
|
||||
reqwest = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
rustls = { workspace = true, features = ["ring", "std"] }
|
||||
serde = { workspace = true, features = ["derive"] }
|
||||
domain = { workspace = true }
|
||||
|
||||
@@ -68,12 +68,16 @@ impl MetadataClient for MetadataClientImpl {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn create() -> anyhow::Result<std::sync::Arc<dyn domain::ports::MetadataClient>> {
|
||||
pub fn create(
|
||||
config: &config::MetadataConfig,
|
||||
) -> anyhow::Result<std::sync::Arc<dyn domain::ports::MetadataClient>> {
|
||||
use anyhow::Context;
|
||||
if let Ok(key) = std::env::var("TMDB_API_KEY") {
|
||||
if let Some(key) = config.tmdb_api_key.clone() {
|
||||
Ok(std::sync::Arc::new(MetadataClientImpl::new_tmdb(key)))
|
||||
} else {
|
||||
let key = std::env::var("OMDB_API_KEY")
|
||||
let key = config
|
||||
.omdb_api_key
|
||||
.clone()
|
||||
.context("either TMDB_API_KEY or OMDB_API_KEY must be set")?;
|
||||
Ok(std::sync::Arc::new(MetadataClientImpl::new_omdb(key)))
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ pub(crate) struct OmdbProvider {
|
||||
|
||||
impl OmdbProvider {
|
||||
pub(crate) fn new(api_key: String) -> Self {
|
||||
let _ = rustls::crypto::ring::default_provider().install_default();
|
||||
Self {
|
||||
client: reqwest::Client::new(),
|
||||
api_key,
|
||||
|
||||
@@ -15,6 +15,7 @@ pub(crate) struct TmdbProvider {
|
||||
|
||||
impl TmdbProvider {
|
||||
pub(crate) fn new(api_key: String) -> Self {
|
||||
let _ = rustls::crypto::ring::default_provider().install_default();
|
||||
Self {
|
||||
client: reqwest::Client::new(),
|
||||
api_key,
|
||||
|
||||
4
crates/adapters/metadata/tests/client_tls_omdb.rs
Normal file
4
crates/adapters/metadata/tests/client_tls_omdb.rs
Normal file
@@ -0,0 +1,4 @@
|
||||
#[test]
|
||||
fn omdb_client_builds_without_bootstrap() {
|
||||
let _ = metadata::MetadataClientImpl::new_omdb("key".into());
|
||||
}
|
||||
4
crates/adapters/metadata/tests/client_tls_tmdb.rs
Normal file
4
crates/adapters/metadata/tests/client_tls_tmdb.rs
Normal file
@@ -0,0 +1,4 @@
|
||||
#[test]
|
||||
fn tmdb_client_builds_without_bootstrap() {
|
||||
let _ = metadata::MetadataClientImpl::new_tmdb("key".into());
|
||||
}
|
||||
Reference in New Issue
Block a user