geoengine_api_client/models/
user_session.rs1use crate::models;
11use serde::{Deserialize, Serialize};
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct UserSession {
15 #[serde(rename = "created")]
16 pub created: String,
17 #[serde(rename = "id")]
18 pub id: uuid::Uuid,
19 #[serde(rename = "project", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub project: Option<Option<uuid::Uuid>>,
21 #[serde(rename = "roles")]
22 pub roles: Vec<uuid::Uuid>,
23 #[serde(rename = "user")]
24 pub user: Box<models::UserInfo>,
25 #[serde(rename = "validUntil")]
26 pub valid_until: String,
27 #[serde(rename = "view", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub view: Option<Option<Box<models::StRectangle>>>,
29}
30
31impl UserSession {
32 pub fn new(created: String, id: uuid::Uuid, roles: Vec<uuid::Uuid>, user: models::UserInfo, valid_until: String) -> UserSession {
33 UserSession {
34 created,
35 id,
36 project: None,
37 roles,
38 user: Box::new(user),
39 valid_until,
40 view: None,
41 }
42 }
43}
44