Skip to main content

authentik_client/models/
device.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2026.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// Device : Serializer for authenticator devices
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Device {
17    /// Return object's verbose_name
18    #[serde(rename = "verbose_name")]
19    pub verbose_name: String,
20    /// Return object's plural verbose_name
21    #[serde(rename = "verbose_name_plural")]
22    pub verbose_name_plural: String,
23    /// Return internal model name
24    #[serde(rename = "meta_model_name")]
25    pub meta_model_name: String,
26    #[serde(rename = "pk")]
27    pub pk: String,
28    #[serde(rename = "name")]
29    pub name: String,
30    /// Get type of device
31    #[serde(rename = "type")]
32    pub r#type: String,
33    #[serde(rename = "confirmed")]
34    pub confirmed: bool,
35    #[serde(rename = "created")]
36    pub created: String,
37    #[serde(rename = "last_updated")]
38    pub last_updated: String,
39    #[serde(rename = "last_used", deserialize_with = "Option::deserialize")]
40    pub last_used: Option<String>,
41    /// Get extra description
42    #[serde(rename = "extra_description", deserialize_with = "Option::deserialize")]
43    pub extra_description: Option<String>,
44    /// Get external Device ID
45    #[serde(rename = "external_id", deserialize_with = "Option::deserialize")]
46    pub external_id: Option<String>,
47}
48
49impl Device {
50    /// Serializer for authenticator devices
51    pub fn new(
52        verbose_name: String,
53        verbose_name_plural: String,
54        meta_model_name: String,
55        pk: String,
56        name: String,
57        r#type: String,
58        confirmed: bool,
59        created: String,
60        last_updated: String,
61        last_used: Option<String>,
62        extra_description: Option<String>,
63        external_id: Option<String>,
64    ) -> Device {
65        Device {
66            verbose_name,
67            verbose_name_plural,
68            meta_model_name,
69            pk,
70            name,
71            r#type,
72            confirmed,
73            created,
74            last_updated,
75            last_used,
76            extra_description,
77            external_id,
78        }
79    }
80}