Skip to main content

box_open_sdk/models/schemas/
authorization.rs

1// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.
2
3use super::*;
4
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct AccessToken {
7    #[serde(default, skip_serializing_if = "Option::is_none")]
8    pub access_token: Option<String>,
9    #[serde(default, skip_serializing_if = "Option::is_none")]
10    pub expires_in: Option<i64>,
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub token_type: Option<AccessTokenTokenType>,
13    #[serde(default, skip_serializing_if = "Option::is_none")]
14    pub restricted_to: Option<Vec<ResourceScope>>,
15    #[serde(default, skip_serializing_if = "Option::is_none")]
16    pub refresh_token: Option<String>,
17    #[serde(default, skip_serializing_if = "Option::is_none")]
18    pub issued_token_type: Option<AccessTokenIssuedTokenType>,
19}
20
21#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
22pub struct PostOAuth2Revoke {
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub client_id: Option<String>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub client_secret: Option<String>,
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub token: Option<String>,
29}
30
31#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
32pub struct PostOAuth2Token {
33    pub grant_type: PostOAuth2TokenGrantType,
34    #[serde(default, skip_serializing_if = "Option::is_none")]
35    pub client_id: Option<String>,
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub client_secret: Option<String>,
38    #[serde(default, skip_serializing_if = "Option::is_none")]
39    pub code: Option<String>,
40    #[serde(default, skip_serializing_if = "Option::is_none")]
41    pub refresh_token: Option<String>,
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    pub assertion: Option<String>,
44    #[serde(default, skip_serializing_if = "Option::is_none")]
45    pub subject_token: Option<String>,
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub subject_token_type: Option<AccessTokenIssuedTokenType>,
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub actor_token: Option<String>,
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub actor_token_type: Option<PostOAuth2TokenActorTokenType>,
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub scope: Option<String>,
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub resource: Option<String>,
56    #[serde(default, skip_serializing_if = "Option::is_none")]
57    pub box_subject_type: Option<PostOAuth2TokenBoxSubjectType>,
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub box_subject_id: Option<String>,
60    #[serde(default, skip_serializing_if = "Option::is_none")]
61    pub box_shared_link: Option<String>,
62}
63
64#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
65pub struct PostOAuth2TokenRefreshAccessToken {
66    pub grant_type: PostOAuth2TokenRefreshAccessTokenGrantType,
67    pub client_id: String,
68    pub client_secret: String,
69    pub refresh_token: String,
70}
71
72#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
73#[serde(transparent)]
74pub struct AccessTokenIssuedTokenType(pub String);
75
76impl AccessTokenIssuedTokenType {
77    pub const URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ACCESS_TOKEN: &'static str =
78        "urn:ietf:params:oauth:token-type:access_token";
79}
80
81#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
82#[serde(transparent)]
83pub struct PostOAuth2TokenGrantType(pub String);
84
85impl PostOAuth2TokenGrantType {
86    pub const AUTHORIZATION_CODE: &'static str = "authorization_code";
87    pub const REFRESH_TOKEN: &'static str = "refresh_token";
88    pub const CLIENT_CREDENTIALS: &'static str = "client_credentials";
89    pub const URN_IETF_PARAMS_OAUTH_GRANT_TYPE_JWT_BEARER: &'static str =
90        "urn:ietf:params:oauth:grant-type:jwt-bearer";
91    pub const URN_IETF_PARAMS_OAUTH_GRANT_TYPE_TOKEN_EXCHANGE: &'static str =
92        "urn:ietf:params:oauth:grant-type:token-exchange";
93}
94
95#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
96#[serde(transparent)]
97pub struct PostOAuth2TokenActorTokenType(pub String);
98
99impl PostOAuth2TokenActorTokenType {
100    pub const URN_IETF_PARAMS_OAUTH_TOKEN_TYPE_ID_TOKEN: &'static str =
101        "urn:ietf:params:oauth:token-type:id_token";
102}
103
104#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
105#[serde(transparent)]
106pub struct PostOAuth2TokenBoxSubjectType(pub String);
107
108impl PostOAuth2TokenBoxSubjectType {
109    pub const ENTERPRISE: &'static str = "enterprise";
110    pub const USER: &'static str = "user";
111}
112
113#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
114#[serde(transparent)]
115pub struct PostOAuth2TokenRefreshAccessTokenGrantType(pub String);
116
117impl PostOAuth2TokenRefreshAccessTokenGrantType {
118    pub const REFRESH_TOKEN: &'static str = "refresh_token";
119}
120
121#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
122#[serde(transparent)]
123pub struct GetAuthorizeResponseType(pub String);
124
125impl GetAuthorizeResponseType {
126    pub const CODE: &'static str = "code";
127}