rusty_box/auth/
access_token.rs1use crate::rest_api::files::models::file_scope::FileScope;
13
14#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
17pub struct AccessToken {
18 #[serde(rename = "access_token", skip_serializing_if = "Option::is_none")]
20 pub access_token: Option<String>,
21 #[serde(rename = "expires_in", skip_serializing_if = "Option::is_none")]
23 pub expires_in: Option<i64>,
24 #[serde(rename = "token_type", skip_serializing_if = "Option::is_none")]
26 pub token_type: Option<TokenType>,
27 #[serde(rename = "restricted_to", skip_serializing_if = "Option::is_none")]
29 pub restricted_to: Option<Vec<FileScope>>,
30 #[serde(rename = "refresh_token", skip_serializing_if = "Option::is_none")]
32 pub refresh_token: Option<String>,
33 #[serde(rename = "issued_token_type", skip_serializing_if = "Option::is_none")]
35 pub issued_token_type: Option<IssuedTokenType>,
36}
37
38impl AccessToken {
39 pub fn new() -> AccessToken {
41 AccessToken {
42 access_token: None,
43 expires_in: None,
44 token_type: None,
45 restricted_to: None,
46 refresh_token: None,
47 issued_token_type: None,
48 }
49 }
50}
51
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum TokenType {
55 #[serde(rename = "bearer")]
56 Bearer,
57}
58
59impl Default for TokenType {
60 fn default() -> TokenType {
61 Self::Bearer
62 }
63}
64#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
66pub enum IssuedTokenType {
67 #[serde(rename = "urn:ietf:params:oauth:token-type:access_token")]
68 UrnColonIetfColonParamsColonOauthColonTokenTypeColonAccessToken,
69}
70
71impl Default for IssuedTokenType {
72 fn default() -> IssuedTokenType {
73 Self::UrnColonIetfColonParamsColonOauthColonTokenTypeColonAccessToken
74 }
75}