refactor(api_models): enhance accepted countries/currencies types (#807)

This commit is contained in:
ItsMeShashank
2023-03-28 17:01:02 +05:30
committed by GitHub
parent 97b95f0e4d
commit f9ef3135af
4 changed files with 69 additions and 78 deletions

View File

@ -360,28 +360,30 @@ pub struct PaymentMethodsEnabled {
pub payment_method_types: Option<Vec<payment_methods::RequestPaymentMethodTypes>>,
}
/// List of enabled and disabled currencies, empty in case all currencies are enabled
#[derive(Eq, PartialEq, Hash, Debug, Clone, serde::Serialize, Deserialize, ToSchema)]
#[serde(deny_unknown_fields)]
pub struct AcceptedCurrencies {
/// type of accepted currencies (disable_only, enable_only)
#[serde(rename = "type")]
pub accept_type: String,
/// List of currencies of the provided type
#[schema(value_type = Option<Vec<Currency>>,example = json!(["USD", "EUR"]))]
pub list: Option<Vec<api_enums::Currency>>,
#[derive(PartialEq, Eq, Hash, Debug, Clone, serde::Serialize, Deserialize, ToSchema)]
#[serde(
deny_unknown_fields,
tag = "type",
content = "list",
rename_all = "snake_case"
)]
pub enum AcceptedCurrencies {
EnableOnly(Vec<api_enums::Currency>),
DisableOnly(Vec<api_enums::Currency>),
AllAccepted,
}
/// List of enabled and disabled countries, empty in case all countries are enabled
#[derive(Eq, PartialEq, Hash, Debug, Clone, serde::Serialize, Deserialize, ToSchema)]
#[serde(deny_unknown_fields)]
pub struct AcceptedCountries {
/// Type of accepted countries (disable_only, enable_only)
#[serde(rename = "type")]
pub accept_type: String,
/// List of countries of the provided type
#[schema(example = json!(["FR", "DE","IN"]))]
pub list: Option<Vec<String>>,
#[derive(PartialEq, Eq, Hash, Debug, Clone, serde::Serialize, Deserialize, ToSchema)]
#[serde(
deny_unknown_fields,
tag = "type",
content = "list",
rename_all = "snake_case"
)]
pub enum AcceptedCountries {
EnableOnly(Vec<String>),
DisableOnly(Vec<String>),
AllAccepted,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]