gitbundle_sdk/models/
token_model.rs1use 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}