use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GrantRequest {
#[serde(rename = "redirect_uri", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub redirect_uri: Option<Option<String>>,
#[serde(rename = "grant_type")]
pub grant_type: String,
#[serde(rename = "scopes")]
pub scopes: String,
#[serde(rename = "userName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub user_name: Option<Option<String>>,
#[serde(rename = "password", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub password: Option<Option<String>>,
#[serde(rename = "unionId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub union_id: Option<Option<String>>,
#[serde(rename = "platform", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub platform: Option<Option<String>>,
#[serde(rename = "expireInDays", skip_serializing_if = "Option::is_none")]
pub expire_in_days: Option<i32>,
}
impl GrantRequest {
pub fn new(grant_type: String, scopes: String) -> GrantRequest {
GrantRequest {
redirect_uri: None,
grant_type,
scopes,
user_name: None,
password: None,
union_id: None,
platform: None,
expire_in_days: None,
}
}
}