geoengine-api-client 0.9.2

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * Geo Engine API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * Contact: dev@geoengine.de
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UserSession {
    #[serde(rename = "created")]
    pub created: String,
    #[serde(rename = "id")]
    pub id: uuid::Uuid,
    #[serde(rename = "project", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub project: Option<Option<uuid::Uuid>>,
    #[serde(rename = "roles")]
    pub roles: Vec<uuid::Uuid>,
    #[serde(rename = "user")]
    pub user: Box<models::UserInfo>,
    #[serde(rename = "validUntil")]
    pub valid_until: String,
    #[serde(rename = "view", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub view: Option<Option<Box<models::StRectangle>>>,
}

impl UserSession {
    pub fn new(created: String, id: uuid::Uuid, roles: Vec<uuid::Uuid>, user: models::UserInfo, valid_until: String) -> UserSession {
        UserSession {
            created,
            id,
            project: None,
            roles,
            user: Box::new(user),
            valid_until,
            view: None,
        }
    }
}