linkbreakers 1.46.14

Official Rust SDK for the Linkbreakers API
Documentation
/*
 * Linkbreakers API
 *
 * This is a documentation of all the APIs of Linkbreakers
 *
 * The version of the OpenAPI document: 1.46.14
 * 
 * Generated by: https://openapi-generator.tech
 */

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

/// Workspace : Serves as the tenant boundary in Linkbreakers, grouping links, members, settings, billing state, and analytics under a single organization's environment.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Workspace {
    #[serde(rename = "country", skip_serializing_if = "Option::is_none")]
    pub country: Option<String>,
    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "enforceMfa", skip_serializing_if = "Option::is_none")]
    pub enforce_mfa: Option<bool>,
    #[serde(rename = "enrollRequestedAt", skip_serializing_if = "Option::is_none")]
    pub enroll_requested_at: Option<String>,
    /// Frequently Asked Questions about this workspace stored as JSON
    #[serde(rename = "faq", skip_serializing_if = "Option::is_none")]
    pub faq: Option<String>,
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "inactiveSince", skip_serializing_if = "Option::is_none")]
    pub inactive_since: Option<String>,
    #[serde(rename = "linkSettingId", skip_serializing_if = "Option::is_none")]
    pub link_setting_id: Option<String>,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "publishedAt", skip_serializing_if = "Option::is_none")]
    pub published_at: Option<String>,
    #[serde(rename = "shortDescription", skip_serializing_if = "Option::is_none")]
    pub short_description: Option<String>,
    #[serde(rename = "slug", skip_serializing_if = "Option::is_none")]
    pub slug: Option<String>,
    /// - SUBSCRIPTION_TYPE_UNSPECIFIED: Subscription plan not yet assigned  - SUBSCRIPTION_TYPE_FREE_TRIAL: Workspace is currently in the free trial period  - SUBSCRIPTION_TYPE_SPONSORED_PRO: Workspace is on the sponsored pro plan with full pro features  - SUBSCRIPTION_TYPE_PRO_PLAN: Workspace has an active Pro plan subscription  - SUBSCRIPTION_TYPE_ENTERPRISE_PLAN: Workspace is managed under an Enterprise contract  - SUBSCRIPTION_TYPE_LIGHT_PLAN: Workspace has an active Light plan subscription
    #[serde(rename = "subscriptionType", skip_serializing_if = "Option::is_none")]
    pub subscription_type: Option<SubscriptionType>,
    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
    pub tags: Option<String>,
    #[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
    pub timezone: Option<String>,
    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<String>,
    #[serde(rename = "verifiedAt", skip_serializing_if = "Option::is_none")]
    pub verified_at: Option<String>,
    #[serde(rename = "website", skip_serializing_if = "Option::is_none")]
    pub website: Option<String>,
}

impl Workspace {
    /// Serves as the tenant boundary in Linkbreakers, grouping links, members, settings, billing state, and analytics under a single organization's environment.
    pub fn new() -> Workspace {
        Workspace {
            country: None,
            created_at: None,
            description: None,
            enforce_mfa: None,
            enroll_requested_at: None,
            faq: None,
            id: None,
            inactive_since: None,
            link_setting_id: None,
            name: None,
            published_at: None,
            short_description: None,
            slug: None,
            subscription_type: None,
            tags: None,
            timezone: None,
            updated_at: None,
            verified_at: None,
            website: None,
        }
    }
}
/// - SUBSCRIPTION_TYPE_UNSPECIFIED: Subscription plan not yet assigned  - SUBSCRIPTION_TYPE_FREE_TRIAL: Workspace is currently in the free trial period  - SUBSCRIPTION_TYPE_SPONSORED_PRO: Workspace is on the sponsored pro plan with full pro features  - SUBSCRIPTION_TYPE_PRO_PLAN: Workspace has an active Pro plan subscription  - SUBSCRIPTION_TYPE_ENTERPRISE_PLAN: Workspace is managed under an Enterprise contract  - SUBSCRIPTION_TYPE_LIGHT_PLAN: Workspace has an active Light plan subscription
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SubscriptionType {
    #[serde(rename = "SUBSCRIPTION_TYPE_UNSPECIFIED")]
    SubscriptionTypeUnspecified,
    #[serde(rename = "SUBSCRIPTION_TYPE_FREE_TRIAL")]
    SubscriptionTypeFreeTrial,
    #[serde(rename = "SUBSCRIPTION_TYPE_SPONSORED_PRO")]
    SubscriptionTypeSponsoredPro,
    #[serde(rename = "SUBSCRIPTION_TYPE_PRO_PLAN")]
    SubscriptionTypeProPlan,
    #[serde(rename = "SUBSCRIPTION_TYPE_ENTERPRISE_PLAN")]
    SubscriptionTypeEnterprisePlan,
    #[serde(rename = "SUBSCRIPTION_TYPE_LIGHT_PLAN")]
    SubscriptionTypeLightPlan,
}

impl Default for SubscriptionType {
    fn default() -> SubscriptionType {
        Self::SubscriptionTypeUnspecified
    }
}