openapi_github/models/
personal_access_token_request.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// PersonalAccessTokenRequest : Details of a Personal Access Token Request.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct PersonalAccessTokenRequest {
17    /// Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls.
18    #[serde(rename = "id")]
19    pub id: i32,
20    #[serde(rename = "owner")]
21    pub owner: Box<models::SimpleUser>,
22    #[serde(rename = "permissions_added")]
23    pub permissions_added: Box<models::PersonalAccessTokenRequestPermissionsAdded>,
24    #[serde(rename = "permissions_upgraded")]
25    pub permissions_upgraded: Box<models::PersonalAccessTokenRequestPermissionsUpgraded>,
26    #[serde(rename = "permissions_result")]
27    pub permissions_result: Box<models::PersonalAccessTokenRequestPermissionsResult>,
28    /// Type of repository selection requested.
29    #[serde(rename = "repository_selection")]
30    pub repository_selection: RepositorySelection,
31    /// The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`.
32    #[serde(rename = "repository_count", deserialize_with = "Option::deserialize")]
33    pub repository_count: Option<i32>,
34    /// An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`.
35    #[serde(rename = "repositories", deserialize_with = "Option::deserialize")]
36    pub repositories: Option<Vec<models::WebhooksRepositoriesInner>>,
37    /// Date and time when the request for access was created.
38    #[serde(rename = "created_at")]
39    pub created_at: String,
40    /// Whether the associated fine-grained personal access token has expired.
41    #[serde(rename = "token_expired")]
42    pub token_expired: bool,
43    /// Date and time when the associated fine-grained personal access token expires.
44    #[serde(rename = "token_expires_at", deserialize_with = "Option::deserialize")]
45    pub token_expires_at: Option<String>,
46    /// Date and time when the associated fine-grained personal access token was last used for authentication.
47    #[serde(rename = "token_last_used_at", deserialize_with = "Option::deserialize")]
48    pub token_last_used_at: Option<String>,
49}
50
51impl PersonalAccessTokenRequest {
52    /// Details of a Personal Access Token Request.
53    pub fn new(id: i32, owner: models::SimpleUser, permissions_added: models::PersonalAccessTokenRequestPermissionsAdded, permissions_upgraded: models::PersonalAccessTokenRequestPermissionsUpgraded, permissions_result: models::PersonalAccessTokenRequestPermissionsResult, repository_selection: RepositorySelection, repository_count: Option<i32>, repositories: Option<Vec<models::WebhooksRepositoriesInner>>, created_at: String, token_expired: bool, token_expires_at: Option<String>, token_last_used_at: Option<String>) -> PersonalAccessTokenRequest {
54        PersonalAccessTokenRequest {
55            id,
56            owner: Box::new(owner),
57            permissions_added: Box::new(permissions_added),
58            permissions_upgraded: Box::new(permissions_upgraded),
59            permissions_result: Box::new(permissions_result),
60            repository_selection,
61            repository_count,
62            repositories,
63            created_at,
64            token_expired,
65            token_expires_at,
66            token_last_used_at,
67        }
68    }
69}
70/// Type of repository selection requested.
71#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum RepositorySelection {
73    #[serde(rename = "none")]
74    None,
75    #[serde(rename = "all")]
76    All,
77    #[serde(rename = "subset")]
78    Subset,
79}
80
81impl Default for RepositorySelection {
82    fn default() -> RepositorySelection {
83        Self::None
84    }
85}
86