use super::*;
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct AccessToken {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub access_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expires_in: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token_type: Option<AccessTokenTokenType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub restricted_to: Option<Vec<ResourceScope>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refresh_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub issued_token_type: Option<AccessTokenIssuedTokenType>,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PostOAuth2Revoke {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PostOAuth2Token {
pub grant_type: PostOAuth2TokenGrantType,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub refresh_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub assertion: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject_token_type: Option<AccessTokenIssuedTokenType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actor_token: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actor_token_type: Option<PostOAuth2TokenActorTokenType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resource: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_subject_type: Option<PostOAuth2TokenBoxSubjectType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_subject_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub box_shared_link: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PostOAuth2TokenRefreshAccessToken {
pub grant_type: PostOAuth2TokenRefreshAccessTokenGrantType,
pub client_id: String,
pub client_secret: String,
pub refresh_token: String,
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct AccessTokenIssuedTokenType(pub String);
impl AccessTokenIssuedTokenType {
pub const URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ACCESS_TOKEN: &'static str =
"urn:ietf:params:oauth:token-type:access_token";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct PostOAuth2TokenGrantType(pub String);
impl PostOAuth2TokenGrantType {
pub const AUTHORIZATION_CODE: &'static str = "authorization_code";
pub const REFRESH_TOKEN: &'static str = "refresh_token";
pub const CLIENT_CREDENTIALS: &'static str = "client_credentials";
pub const URN_IETF_PARAMS_OAUTH_GRANT_TYPE_JWT_BEARER: &'static str =
"urn:ietf:params:oauth:grant-type:jwt-bearer";
pub const URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE: &'static str =
"urn:ietf:params:oauth:grant-type:token-exchange";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct PostOAuth2TokenActorTokenType(pub String);
impl PostOAuth2TokenActorTokenType {
pub const URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN: &'static str =
"urn:ietf:params:oauth:token-type:id_token";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct PostOAuth2TokenBoxSubjectType(pub String);
impl PostOAuth2TokenBoxSubjectType {
pub const ENTERPRISE: &'static str = "enterprise";
pub const USER: &'static str = "user";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct PostOAuth2TokenRefreshAccessTokenGrantType(pub String);
impl PostOAuth2TokenRefreshAccessTokenGrantType {
pub const REFRESH_TOKEN: &'static str = "refresh_token";
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct GetAuthorizeResponseType(pub String);
impl GetAuthorizeResponseType {
pub const CODE: &'static str = "code";
}