Skip to main content

gitbundle_sdk/models/
token_model.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.4.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TokenModel {
17    #[serde(rename = "created_by")]
18    pub created_by: i64,
19    #[serde(
20        rename = "expires_at",
21        default,
22        with = "::serde_with::rust::double_option",
23        skip_serializing_if = "Option::is_none"
24    )]
25    pub expires_at: Option<Option<i64>>,
26    #[serde(rename = "id")]
27    pub id: i64,
28    #[serde(rename = "issued_at")]
29    pub issued_at: i64,
30    #[serde(rename = "name")]
31    pub name: String,
32    #[serde(
33        rename = "permissions",
34        default,
35        with = "::serde_with::rust::double_option",
36        skip_serializing_if = "Option::is_none"
37    )]
38    pub permissions: Option<Option<Vec<models::Permission>>>,
39    #[serde(rename = "type")]
40    pub r#type: models::TokenType,
41    #[serde(rename = "user_id")]
42    pub user_id: i64,
43}
44
45impl TokenModel {
46    pub fn new(
47        created_by: i64,
48        id: i64,
49        issued_at: i64,
50        name: String,
51        r#type: models::TokenType,
52        user_id: i64,
53    ) -> TokenModel {
54        TokenModel {
55            created_by,
56            expires_at: None,
57            id,
58            issued_at,
59            name,
60            permissions: None,
61            r#type,
62            user_id,
63        }
64    }
65}