one-msg-sdk 2.0.1

Official Rust SDK for the 1msg WhatsApp Business API
/*
 * 1MSG WhatsApp Business API (Public)
 *
 * Public client API for sending messages, managing groups, flows, and templates.  This is the API exposed to end customers via platform.1msg.io  **Authentication:** All requests require `token` query parameter with JWT or API key.  **Documentation:** https://help.1msg.io/platform-1msg/getting-start/quick-start **API Docs:** https://docs.1msg.io/ 
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@1msg.io
 * Generated by: https://openapi-generator.tech
 */

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

/// ProfileInfo : WhatsApp Business profile information
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ProfileInfo {
    /// Profile's About section
    #[serde(rename = "about", skip_serializing_if = "Option::is_none")]
    pub about: Option<String>,
    /// Address of the business
    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
    pub address: Option<String>,
    /// Description of the business
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Business email
    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
    pub email: Option<String>,
    /// Linked phone number
    #[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
    pub phone: Option<String>,
    /// Industry of the business
    #[serde(rename = "vertical", skip_serializing_if = "Option::is_none")]
    pub vertical: Option<Vertical>,
    /// Profile photo URL
    #[serde(rename = "photo", skip_serializing_if = "Option::is_none")]
    pub photo: Option<String>,
    #[serde(rename = "websites", skip_serializing_if = "Option::is_none")]
    pub websites: Option<Vec<String>>,
}

impl ProfileInfo {
    /// WhatsApp Business profile information
    pub fn new() -> ProfileInfo {
        ProfileInfo {
            about: None,
            address: None,
            description: None,
            email: None,
            phone: None,
            vertical: None,
            photo: None,
            websites: None,
        }
    }
}
/// Industry of the business
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Vertical {
    #[serde(rename = "Automotive")]
    Automotive,
    #[serde(rename = "Beauty, Spa and Salon")]
    BeautyCommaSpaAndSalon,
    #[serde(rename = "Clothing and Apparel")]
    ClothingAndApparel,
    #[serde(rename = "Education")]
    Education,
    #[serde(rename = "Entertainment")]
    Entertainment,
    #[serde(rename = "Event Planning and Service")]
    EventPlanningAndService,
    #[serde(rename = "Finance and Banking")]
    FinanceAndBanking,
    #[serde(rename = "Food and Grocery")]
    FoodAndGrocery,
    #[serde(rename = "Public Service")]
    PublicService,
    #[serde(rename = "Hotel and Lodging")]
    HotelAndLodging,
    #[serde(rename = "Medical and Health")]
    MedicalAndHealth,
    #[serde(rename = "Non-profit")]
    NonProfit,
    #[serde(rename = "Professional Services")]
    ProfessionalServices,
    #[serde(rename = "Shopping and Retail")]
    ShoppingAndRetail,
    #[serde(rename = "Travel and Transportation")]
    TravelAndTransportation,
    #[serde(rename = "Restaurant")]
    Restaurant,
    #[serde(rename = "Other")]
    Other,
}

impl Default for Vertical {
    fn default() -> Vertical {
        Self::Automotive
    }
}