wacht 0.1.0-beta.5

Official Rust SDK for the Wacht platform, providing type-safe API client and authentication middleware
Documentation
/*
 * Wacht Backend API
 *
 * Backend API for the Wacht platform console
 *
 * The version of the OpenAPI document: 1.0.0
 *
 * Generated by: https://openapi-generator.tech
 */

use serde::{Deserialize, Serialize};

/// Request to create a new user.
///
/// # Required Fields
/// - `first_name`: User's first name
/// - `last_name`: User's last name
///
/// # Optional Fields
/// - `email_address`: User's email address
/// - `phone_number`: User's phone number
/// - `username`: User's username
/// - `password`: User's password
/// - `skip_password_check`: Skip password validation
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateUserRequest {
    #[serde(rename = "first_name")]
    pub first_name: String,
    #[serde(rename = "last_name")]
    pub last_name: String,
    #[serde(rename = "email_address", skip_serializing_if = "Option::is_none")]
    pub email_address: Option<String>,
    #[serde(rename = "phone_number", skip_serializing_if = "Option::is_none")]
    pub phone_number: Option<String>,
    #[serde(rename = "username", skip_serializing_if = "Option::is_none")]
    pub username: Option<String>,
    #[serde(rename = "password", skip_serializing_if = "Option::is_none")]
    pub password: Option<String>,
    #[serde(rename = "skip_password_check", default)]
    pub skip_password_check: bool,
    #[serde(skip)]
    pub profile_image: Option<Vec<u8>>,
}

impl CreateUserRequest {
    /// Create a new CreateUserRequest with required fields.
    pub fn new(first_name: String, last_name: String) -> CreateUserRequest {
        CreateUserRequest {
            first_name,
            last_name,
            email_address: None,
            phone_number: None,
            username: None,
            password: None,
            skip_password_check: false,
            profile_image: None,
        }
    }
}