gitbundle_sdk/models/
token_model.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.0.0
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(rename = "permissions", skip_serializing_if = "Option::is_none")]
33    pub permissions: Option<Vec<models::Permission>>,
34    #[serde(rename = "type")]
35    pub r#type: models::TokenType,
36    #[serde(rename = "user_id")]
37    pub user_id: i64,
38}
39
40impl TokenModel {
41    pub fn new(
42        created_by: i64,
43        id: i64,
44        issued_at: i64,
45        name: String,
46        r#type: models::TokenType,
47        user_id: i64,
48    ) -> TokenModel {
49        TokenModel {
50            created_by,
51            expires_at: None,
52            id,
53            issued_at,
54            name,
55            permissions: None,
56            r#type,
57            user_id,
58        }
59    }
60}