use bon::Builder;
use crate::address_validation::validate_address::request::{LanguageOptions, PostalAddress};
use getset::{CopyGetters, Getters, MutGetters, Setters};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize, Builder, CopyGetters, Getters, MutGetters, Setters)]
#[serde(rename_all = "camelCase")]
pub struct RequestQuery {
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub address: PostalAddress,
#[serde(default)]
#[builder(into)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub previous_response_id: Option<String>,
#[serde(default)]
#[builder(into)]
#[getset(get_copy = "pub", get_mut = "pub", set = "pub")]
pub enable_usps_cass: Option<bool>,
#[serde(default)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub language_options: Option<LanguageOptions>,
#[serde(default)]
#[builder(into)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub session_token: Option<String>,
}
use crate::address_validation::validate_address::Request;
impl std::convert::From<&Request<'_>> for RequestQuery {
fn from(request: &Request) -> Self {
Self {
address: request.address.clone(),
previous_response_id: request.previous_response_id.clone(),
enable_usps_cass: request.enable_usps_cass,
language_options: request.language_options.clone(),
session_token: request.session_token.clone(),
} } }