windmill_api/models/
truncated_token.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TruncatedToken {
16 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
17 pub label: Option<String>,
18 #[serde(rename = "expiration", skip_serializing_if = "Option::is_none")]
19 pub expiration: Option<String>,
20 #[serde(rename = "token_prefix")]
21 pub token_prefix: String,
22 #[serde(rename = "created_at")]
23 pub created_at: String,
24 #[serde(rename = "last_used_at")]
25 pub last_used_at: String,
26 #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
27 pub scopes: Option<Vec<String>>,
28 #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
29 pub email: Option<String>,
30 #[serde(rename = "workspace_id", skip_serializing_if = "Option::is_none")]
31 pub workspace_id: Option<String>,
32 #[serde(rename = "read_only")]
33 pub read_only: bool,
34}
35
36impl TruncatedToken {
37 pub fn new(token_prefix: String, created_at: String, last_used_at: String, read_only: bool) -> TruncatedToken {
38 TruncatedToken {
39 label: None,
40 expiration: None,
41 token_prefix,
42 created_at,
43 last_used_at,
44 scopes: None,
45 email: None,
46 workspace_id: None,
47 read_only,
48 }
49 }
50}
51