use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SellerInputDefinition {
#[serde(rename = "IsRequired")]
pub is_required: bool,
#[serde(rename = "DataType")]
pub data_type: String,
#[serde(rename = "Constraints")]
pub constraints: Vec<models::merchant_fulfillment_v0::Constraint>,
#[serde(rename = "InputDisplayText")]
pub input_display_text: String,
#[serde(rename = "InputTarget", skip_serializing_if = "Option::is_none")]
pub input_target: Option<models::merchant_fulfillment_v0::InputTargetType>,
#[serde(rename = "StoredValue")]
pub stored_value: Box<models::merchant_fulfillment_v0::AdditionalSellerInput>,
#[serde(rename = "RestrictedSetValues", skip_serializing_if = "Option::is_none")]
pub restricted_set_values: Option<Vec<String>>,
}
impl SellerInputDefinition {
pub fn new(is_required: bool, data_type: String, constraints: Vec<models::merchant_fulfillment_v0::Constraint>, input_display_text: String, stored_value: models::merchant_fulfillment_v0::AdditionalSellerInput) -> SellerInputDefinition {
SellerInputDefinition {
is_required,
data_type,
constraints,
input_display_text,
input_target: None,
stored_value: Box::new(stored_value),
restricted_set_values: None,
}
}
}