authentik_rust/models/
authenticated_session.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2024.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13/// AuthenticatedSession : AuthenticatedSession Serializer
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AuthenticatedSession {
16    #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")]
17    pub uuid: Option<uuid::Uuid>,
18    /// Check if session is currently active session
19    #[serde(rename = "current")]
20    pub current: bool,
21    #[serde(rename = "user_agent")]
22    pub user_agent: Box<models::AuthenticatedSessionUserAgent>,
23    #[serde(rename = "geo_ip", deserialize_with = "Option::deserialize")]
24    pub geo_ip: Option<Box<models::AuthenticatedSessionGeoIp>>,
25    #[serde(rename = "asn", deserialize_with = "Option::deserialize")]
26    pub asn: Option<Box<models::AuthenticatedSessionAsn>>,
27    #[serde(rename = "user")]
28    pub user: i32,
29    #[serde(rename = "last_ip")]
30    pub last_ip: String,
31    #[serde(rename = "last_user_agent", skip_serializing_if = "Option::is_none")]
32    pub last_user_agent: Option<String>,
33    #[serde(rename = "last_used")]
34    pub last_used: String,
35    #[serde(rename = "expires", skip_serializing_if = "Option::is_none")]
36    pub expires: Option<String>,
37}
38
39impl AuthenticatedSession {
40    /// AuthenticatedSession Serializer
41    pub fn new(current: bool, user_agent: models::AuthenticatedSessionUserAgent, geo_ip: Option<models::AuthenticatedSessionGeoIp>, asn: Option<models::AuthenticatedSessionAsn>, user: i32, last_ip: String, last_used: String) -> AuthenticatedSession {
42        AuthenticatedSession {
43            uuid: None,
44            current,
45            user_agent: Box::new(user_agent),
46            geo_ip: if let Some(x) = geo_ip {Some(Box::new(x))} else {None},
47            asn: if let Some(x) = asn {Some(Box::new(x))} else {None},
48            user,
49            last_ip,
50            last_user_agent: None,
51            last_used,
52            expires: None,
53        }
54    }
55}
56