authentik-client 2026.5.0-rc2

Making authentication simple.
Documentation
/*
 * authentik
 *
 * Making authentication simple.
 *
 * The version of the OpenAPI document: 2026.5.0-rc2
 * Contact: hello@goauthentik.io
 * Generated by: https://openapi-generator.tech
 */

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

/// AuthenticatedSessionUserAgentOs : User agent os
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AuthenticatedSessionUserAgentOs {
    #[serde(rename = "family")]
    pub family: String,
    #[serde(rename = "major", deserialize_with = "Option::deserialize")]
    pub major: Option<String>,
    #[serde(rename = "minor", deserialize_with = "Option::deserialize")]
    pub minor: Option<String>,
    #[serde(rename = "patch", deserialize_with = "Option::deserialize")]
    pub patch: Option<String>,
    #[serde(rename = "patch_minor", deserialize_with = "Option::deserialize")]
    pub patch_minor: Option<String>,
}

impl AuthenticatedSessionUserAgentOs {
    /// User agent os
    pub fn new(
        family: String,
        major: Option<String>,
        minor: Option<String>,
        patch: Option<String>,
        patch_minor: Option<String>,
    ) -> AuthenticatedSessionUserAgentOs {
        AuthenticatedSessionUserAgentOs {
            family,
            major,
            minor,
            patch,
            patch_minor,
        }
    }
}