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(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}