authentik_client/models/
authenticated_session.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AuthenticatedSession {
17 #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")]
18 pub uuid: Option<uuid::Uuid>,
19 #[serde(rename = "current")]
21 pub current: bool,
22 #[serde(rename = "user_agent")]
23 pub user_agent: models::AuthenticatedSessionUserAgent,
24 #[serde(rename = "geo_ip", deserialize_with = "Option::deserialize")]
25 pub geo_ip: Option<models::AuthenticatedSessionGeoIp>,
26 #[serde(rename = "asn", deserialize_with = "Option::deserialize")]
27 pub asn: Option<models::AuthenticatedSessionAsn>,
28 #[serde(rename = "user")]
29 pub user: i32,
30 #[serde(rename = "last_ip")]
31 pub last_ip: String,
32 #[serde(rename = "last_user_agent")]
33 pub last_user_agent: String,
34 #[serde(rename = "last_used")]
35 pub last_used: String,
36 #[serde(rename = "expires")]
37 pub expires: String,
38}
39
40impl AuthenticatedSession {
41 pub fn new(
43 current: bool,
44 user_agent: models::AuthenticatedSessionUserAgent,
45 geo_ip: Option<models::AuthenticatedSessionGeoIp>,
46 asn: Option<models::AuthenticatedSessionAsn>,
47 user: i32,
48 last_ip: String,
49 last_user_agent: String,
50 last_used: String,
51 expires: String,
52 ) -> AuthenticatedSession {
53 AuthenticatedSession {
54 uuid: None,
55 current,
56 user_agent,
57 geo_ip,
58 asn,
59 user,
60 last_ip,
61 last_user_agent,
62 last_used,
63 expires,
64 }
65 }
66}