diff --git a/src/client/model.rs b/src/client/model.rs index 0dcb150..0df9edb 100644 --- a/src/client/model.rs +++ b/src/client/model.rs @@ -357,6 +357,8 @@ impl ModelData { #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ProviderModels { pub provider: String, + #[serde(default)] + pub oauth: Option, pub models: Vec, } diff --git a/src/client/oauth.rs b/src/client/oauth.rs index 3f3c638..86e0edf 100644 --- a/src/client/oauth.rs +++ b/src/client/oauth.rs @@ -18,14 +18,14 @@ use std::net::TcpListener; use url::Url; use uuid::Uuid; -#[derive(Debug, Clone, Copy, Deserialize)] +#[derive(Debug, Clone, Copy, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum TokenRequestFormat { Json, FormUrlEncoded, } -#[derive(Debug, Clone, Copy, Deserialize, Default)] +#[derive(Debug, Clone, Copy, Serialize, Deserialize, Default)] #[serde(rename_all = "snake_case")] pub enum OAuthFlow { #[default] @@ -38,7 +38,7 @@ pub enum OAuthFlow { /// /// Every field except `client_id`, `token_url`, and `flow` is optional so that /// user config can override individual fields without restating the entire block. -#[derive(Debug, Clone, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize)] pub struct OAuthConfig { pub client_id: String, pub token_url: String,