use crate::rest_api::files::models::file_scope::FileScope;
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct AccessToken {
#[serde(rename = "access_token", skip_serializing_if = "Option::is_none")]
pub access_token: Option<String>,
#[serde(rename = "expires_in", skip_serializing_if = "Option::is_none")]
pub expires_in: Option<i64>,
#[serde(rename = "token_type", skip_serializing_if = "Option::is_none")]
pub token_type: Option<TokenType>,
#[serde(rename = "restricted_to", skip_serializing_if = "Option::is_none")]
pub restricted_to: Option<Vec<FileScope>>,
#[serde(rename = "refresh_token", skip_serializing_if = "Option::is_none")]
pub refresh_token: Option<String>,
#[serde(rename = "issued_token_type", skip_serializing_if = "Option::is_none")]
pub issued_token_type: Option<IssuedTokenType>,
}
impl AccessToken {
pub fn new() -> AccessToken {
AccessToken {
access_token: None,
expires_in: None,
token_type: None,
restricted_to: None,
refresh_token: None,
issued_token_type: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TokenType {
#[serde(rename = "bearer")]
Bearer,
}
impl Default for TokenType {
fn default() -> TokenType {
Self::Bearer
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum IssuedTokenType {
#[serde(rename = "urn:ietf:params:oauth:token-type:access_token")]
UrnColonIetfColonParamsColonOauthColonTokenTypeColonAccessToken,
}
impl Default for IssuedTokenType {
fn default() -> IssuedTokenType {
Self::UrnColonIetfColonParamsColonOauthColonTokenTypeColonAccessToken
}
}