diff --git a/Cargo.lock b/Cargo.lock index 4980297ff1..fcea1e2203 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5538,6 +5538,7 @@ dependencies = [ "schemars 0.8.22", "serde", "serde_json", + "serde_with", "time", "tsify", "utoipa", @@ -5694,7 +5695,6 @@ dependencies = [ "criterion", "ff", "group", - "lazy_static", "nym-contracts-common", "nym-pemstore", "rand 0.8.5", diff --git a/nym-credential-proxy/nym-credential-proxy-requests/Cargo.toml b/nym-credential-proxy/nym-credential-proxy-requests/Cargo.toml index 9aadebbe50..7897a1287e 100644 --- a/nym-credential-proxy/nym-credential-proxy-requests/Cargo.toml +++ b/nym-credential-proxy/nym-credential-proxy-requests/Cargo.toml @@ -16,6 +16,7 @@ schemars = { workspace = true, features = ["preserve_order", "uuid1"] } uuid = { workspace = true, features = ["serde"] } serde = { workspace = true, features = ["derive"] } serde_json.workspace = true +serde_with = { workspace = true } time = { workspace = true, features = ["serde", "formatting", "parsing"] } tsify = { workspace = true, optional = true } reqwest = { workspace = true, features = ["json", "rustls-tls"] } diff --git a/nym-credential-proxy/nym-credential-proxy-requests/src/api/v1/ticketbook/models.rs b/nym-credential-proxy/nym-credential-proxy-requests/src/api/v1/ticketbook/models.rs index e0b6b6b892..3ed36ade31 100644 --- a/nym-credential-proxy/nym-credential-proxy-requests/src/api/v1/ticketbook/models.rs +++ b/nym-credential-proxy/nym-credential-proxy-requests/src/api/v1/ticketbook/models.rs @@ -9,6 +9,7 @@ use schemars::JsonSchema; use schemars::r#gen::SchemaGenerator; use schemars::schema::Schema; use serde::{Deserialize, Serialize}; +use serde_with::{DisplayFromStr, serde_as}; use std::ops::{Deref, DerefMut}; use time::{Date, OffsetDateTime}; @@ -264,12 +265,14 @@ pub struct WebhookTicketbookWalletSharesRequest { pub secret: String, } +#[serde_as] #[derive(Default, Debug, Serialize, Deserialize, Clone)] #[cfg_attr(feature = "openapi", derive(utoipa::ToSchema, utoipa::IntoParams))] #[cfg(feature = "query-types")] #[serde(default, rename_all = "kebab-case")] pub struct TicketbookObtainParams { #[serde(default)] + #[serde_as(as = "DisplayFromStr")] pub skip_webhook: bool, #[serde(default)] @@ -277,15 +280,19 @@ pub struct TicketbookObtainParams { pub global: GlobalDataParams, } +#[serde_as] #[derive(Default, Debug, Serialize, Deserialize, Clone)] #[cfg_attr(feature = "openapi", derive(utoipa::ToSchema, utoipa::IntoParams))] #[cfg(feature = "query-types")] #[serde(default, rename_all = "kebab-case")] pub struct GlobalDataParams { + #[serde_as(as = "DisplayFromStr")] pub include_master_verification_key: bool, + #[serde_as(as = "DisplayFromStr")] pub include_coin_index_signatures: bool, + #[serde_as(as = "DisplayFromStr")] pub include_expiration_date_signatures: bool, }