Skip to main content

kellnr_db/
auth_token.rs

1use kellnr_entity::auth_token;
2use serde::{Deserialize, Serialize};
3use utoipa::ToSchema;
4
5#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
6pub struct AuthToken {
7    pub id: i32,
8    pub name: String,
9    #[serde(skip_serializing)]
10    token: String,
11    /// When the token was created, unknown for tokens from before Kellnr
12    /// stored it
13    pub created: Option<String>,
14    /// When the token was last used, updated at most once per hour
15    pub last_used: Option<String>,
16}
17
18impl AuthToken {
19    pub fn new(id: i32, name: String, token: String) -> Self {
20        Self {
21            id,
22            name,
23            token,
24            created: None,
25            last_used: None,
26        }
27    }
28}
29
30impl From<auth_token::Model> for AuthToken {
31    fn from(m: auth_token::Model) -> Self {
32        Self {
33            id: m.id as i32,
34            name: m.name,
35            token: m.token,
36            created: m.created,
37            last_used: m.last_used,
38        }
39    }
40}