authentik_client/models/
token_model.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2025.8.4
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// TokenModel : Serializer for BaseGrantModel and RefreshToken
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TokenModel {
17    #[serde(rename = "pk")]
18    pub pk: i32,
19    #[serde(rename = "provider")]
20    pub provider: models::OAuth2Provider,
21    #[serde(rename = "user")]
22    pub user: models::User,
23    /// Check if token is expired yet.
24    #[serde(rename = "is_expired")]
25    pub is_expired: bool,
26    #[serde(
27        rename = "expires",
28        default,
29        with = "::serde_with::rust::double_option",
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub expires: Option<Option<String>>,
33    #[serde(rename = "scope")]
34    pub scope: Vec<String>,
35    /// Get the token's id_token as JSON String
36    #[serde(rename = "id_token")]
37    pub id_token: String,
38    #[serde(rename = "revoked", skip_serializing_if = "Option::is_none")]
39    pub revoked: Option<bool>,
40}
41
42impl TokenModel {
43    /// Serializer for BaseGrantModel and RefreshToken
44    pub fn new(
45        pk: i32,
46        provider: models::OAuth2Provider,
47        user: models::User,
48        is_expired: bool,
49        scope: Vec<String>,
50        id_token: String,
51    ) -> TokenModel {
52        TokenModel {
53            pk,
54            provider,
55            user,
56            is_expired,
57            expires: None,
58            scope,
59            id_token,
60            revoked: None,
61        }
62    }
63}