hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * Hanzo Cloud API
 *
 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DataroomLinkCreate {
    #[serde(rename = "allowDownload", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub allow_download: Option<Option<serde_json::Value>>,
    /// AllowList narrows which addresses pass the email gate. Optional; an entry may be a full address (\"ada@example.com\"), an \"@domain.com\" suffix, or a bare \"domain.com\". An omitted or EMPTY list admits everyone, so a link with no list enforces the email gate alone.
    #[serde(rename = "allowList", skip_serializing_if = "Option::is_none")]
    pub allow_list: Option<Vec<serde_json::Value>>,
    #[serde(rename = "dataroomId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub dataroom_id: Option<Option<serde_json::Value>>,
    /// DenyList rejects addresses, in the same three forms as the allow list. Optional. It is checked BEFORE the allow list, so deny always wins.
    #[serde(rename = "denyList", skip_serializing_if = "Option::is_none")]
    pub deny_list: Option<Vec<serde_json::Value>>,
    #[serde(rename = "documentId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub document_id: Option<Option<serde_json::Value>>,
    #[serde(rename = "emailProtected", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub email_protected: Option<Option<serde_json::Value>>,
    #[serde(rename = "expiresAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub expires_at: Option<Option<serde_json::Value>>,
    #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub name: Option<Option<serde_json::Value>>,
    #[serde(rename = "password", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub password: Option<Option<serde_json::Value>>,
}

impl DataroomLinkCreate {
    pub fn new() -> DataroomLinkCreate {
        DataroomLinkCreate {
            allow_download: None,
            allow_list: None,
            dataroom_id: None,
            deny_list: None,
            document_id: None,
            email_protected: None,
            expires_at: None,
            name: None,
            password: None,
        }
    }
}