1use kellnr_entity::auth_token;
2use serde::{Deserialize, Serialize};
3use utoipa::ToSchema;
4
5use crate::AuthTokenId;
6
7#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
8pub struct AuthToken {
9 pub id: AuthTokenId,
10 pub name: String,
11 #[serde(skip_serializing)]
12 token: String,
13 pub created: Option<String>,
16 pub last_used: Option<String>,
18}
19
20impl AuthToken {
21 pub fn new(id: AuthTokenId, name: String, token: String) -> Self {
22 Self {
23 id,
24 name,
25 token,
26 created: None,
27 last_used: None,
28 }
29 }
30}
31
32impl From<auth_token::Model> for AuthToken {
33 fn from(m: auth_token::Model) -> Self {
34 Self {
35 id: AuthTokenId::new(m.id),
36 name: m.name,
37 token: m.token,
38 created: m.created,
39 last_used: m.last_used,
40 }
41 }
42}