From 4e914e3bb4c541bc05712ef7612796c217b21453 Mon Sep 17 00:00:00 2001 From: janskiba Date: Wed, 26 Feb 2025 15:55:44 +0000 Subject: [PATCH] feat: add auth options for ttp --- src/ttp.rs | 5 +++++ src/ttp/greifswald.rs | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ttp.rs b/src/ttp.rs index a877236..d6dcd9a 100644 --- a/src/ttp.rs +++ b/src/ttp.rs @@ -9,6 +9,8 @@ use fhir_sdk::r4b::resources::{Consent, Patient}; use reqwest::{Client, StatusCode, Url}; use thiserror::Error; +use crate::config::Auth; + #[derive(Parser, Debug, Clone)] pub struct TtpInner { #[clap( @@ -21,6 +23,9 @@ pub struct TtpInner { #[clap(long, env)] pub project_id_system: String, + #[clap(long, env, default_value = "")] + pub ttp_auth: Auth, + #[clap(skip)] client: Client, } diff --git a/src/ttp/greifswald.rs b/src/ttp/greifswald.rs index d92c4e8..34d171b 100644 --- a/src/ttp/greifswald.rs +++ b/src/ttp/greifswald.rs @@ -8,6 +8,7 @@ use fhir_sdk::r4b::resources::{ use fhir_sdk::r4b::types::Coding; use tracing::debug; +use crate::config::ClientBuilderExt; use crate::fhir::ParameterExt; use crate::ttp_bail; @@ -94,6 +95,8 @@ impl GreifswaldConfig { .client .post(url) .json(¶ms) + .add_auth(&self.ttp_auth) + .await? .send() .await? .error_for_status()? @@ -166,6 +169,8 @@ impl GreifswaldConfig { .client .post(url) .json(¶ms) + .add_auth(&self.ttp_auth) + .await? .send() .await? .error_for_status()? @@ -238,7 +243,7 @@ impl FromStr for MatchStatus { #[cfg(test)] mod tests { - use crate::ttp::TtpInner; + use crate::{config::Auth, ttp::TtpInner}; use super::*; use fhir_sdk::{ @@ -258,6 +263,7 @@ mod tests { url: "https://demo.ths-greifswald.de".parse().unwrap(), project_id_system: "MII".into(), client: Client::new(), + ttp_auth: Auth::None, }, source: "dummy_safe_source".into(), }; @@ -281,6 +287,7 @@ mod tests { url: "https://demo.ths-greifswald.de".parse().unwrap(), project_id_system: "Demo".into(), client: Client::new(), + ttp_auth: Auth::None, }, source: "dummy_safe_source".into(), };