/*
* Elastic Email REST API
*
* This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target='_blank' href='https://app.elasticemail.com/marketing/settings/new/manage-api'>here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target='_blank' href='https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme'>here</a>
*
* The version of the OpenAPI document: 4.0.0
* Contact: support@elasticemail.com
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AccessLevel {
#[serde(rename = "None")]
None,
#[serde(rename = "ViewAccount")]
ViewAccount,
#[serde(rename = "ViewContacts")]
ViewContacts,
#[serde(rename = "ViewForms")]
ViewForms,
#[serde(rename = "ViewTemplates")]
ViewTemplates,
#[serde(rename = "ViewCampaigns")]
ViewCampaigns,
#[serde(rename = "ViewChannels")]
ViewChannels,
#[serde(rename = "ViewAutomations")]
ViewAutomations,
#[serde(rename = "ViewSurveys")]
ViewSurveys,
#[serde(rename = "ViewSettings")]
ViewSettings,
#[serde(rename = "ViewBilling")]
ViewBilling,
#[serde(rename = "ViewSubAccounts")]
ViewSubAccounts,
#[serde(rename = "ViewUsers")]
ViewUsers,
#[serde(rename = "ViewFiles")]
ViewFiles,
#[serde(rename = "ViewReports")]
ViewReports,
#[serde(rename = "ModifyAccount")]
ModifyAccount,
#[serde(rename = "ModifyContacts")]
ModifyContacts,
#[serde(rename = "ModifyForms")]
ModifyForms,
#[serde(rename = "ModifyTemplates")]
ModifyTemplates,
#[serde(rename = "ModifyCampaigns")]
ModifyCampaigns,
#[serde(rename = "ModifyChannels")]
ModifyChannels,
#[serde(rename = "ModifyAutomations")]
ModifyAutomations,
#[serde(rename = "ModifySurveys")]
ModifySurveys,
#[serde(rename = "ModifyFiles")]
ModifyFiles,
#[serde(rename = "Export")]
Export,
#[serde(rename = "SendSmtp")]
SendSmtp,
#[serde(rename = "SendSMS")]
SendSms,
#[serde(rename = "ModifySettings")]
ModifySettings,
#[serde(rename = "ModifyBilling")]
ModifyBilling,
#[serde(rename = "ModifyProfile")]
ModifyProfile,
#[serde(rename = "ModifySubAccounts")]
ModifySubAccounts,
#[serde(rename = "ModifyUsers")]
ModifyUsers,
#[serde(rename = "Security")]
Security,
#[serde(rename = "ModifyLanguage")]
ModifyLanguage,
#[serde(rename = "ViewSupport")]
ViewSupport,
#[serde(rename = "SendHttp")]
SendHttp,
#[serde(rename = "Modify2FAEmail")]
Modify2FaEmail,
#[serde(rename = "ModifySupport")]
ModifySupport,
#[serde(rename = "ViewCustomFields")]
ViewCustomFields,
#[serde(rename = "ModifyCustomFields")]
ModifyCustomFields,
#[serde(rename = "ModifyWebNotifications")]
ModifyWebNotifications,
#[serde(rename = "ExtendedLogs")]
ExtendedLogs,
#[serde(rename = "VerifyEmails")]
VerifyEmails,
#[serde(rename = "Modify2FASms")]
Modify2FaSms,
#[serde(rename = "ViewVerifyEmails")]
ViewVerifyEmails,
#[serde(rename = "ViewAccessTokens")]
ViewAccessTokens,
#[serde(rename = "ViewWebNotifications")]
ViewWebNotifications,
#[serde(rename = "ModifyLandingPages")]
ModifyLandingPages,
#[serde(rename = "ViewLandingPages")]
ViewLandingPages,
#[serde(rename = "ModifySuppressions")]
ModifySuppressions,
#[serde(rename = "ViewSuppressions")]
ViewSuppressions,
#[serde(rename = "ViewDragDropEditor")]
ViewDragDropEditor,
#[serde(rename = "ViewTemplateEditor")]
ViewTemplateEditor,
#[serde(rename = "ViewAITools")]
ViewAiTools,
#[serde(rename = "ModifySubscriptionAntiSpam")]
ModifySubscriptionAntiSpam,
#[serde(rename = "ViewLandingPagesCheckout")]
ViewLandingPagesCheckout,
#[serde(rename = "ModifyLandingPagesCheckout")]
ModifyLandingPagesCheckout,
#[serde(rename = "ViewHTMLEditor")]
ViewHtmlEditor,
#[serde(rename = "ModifyAccessTokens")]
ModifyAccessTokens,
#[serde(rename = "ViewPaidNewsletters")]
ViewPaidNewsletters,
#[serde(rename = "ModifyPaidNewsletters")]
ModifyPaidNewsletters,
}
impl std::fmt::Display for AccessLevel {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::None => write!(f, "None"),
Self::ViewAccount => write!(f, "ViewAccount"),
Self::ViewContacts => write!(f, "ViewContacts"),
Self::ViewForms => write!(f, "ViewForms"),
Self::ViewTemplates => write!(f, "ViewTemplates"),
Self::ViewCampaigns => write!(f, "ViewCampaigns"),
Self::ViewChannels => write!(f, "ViewChannels"),
Self::ViewAutomations => write!(f, "ViewAutomations"),
Self::ViewSurveys => write!(f, "ViewSurveys"),
Self::ViewSettings => write!(f, "ViewSettings"),
Self::ViewBilling => write!(f, "ViewBilling"),
Self::ViewSubAccounts => write!(f, "ViewSubAccounts"),
Self::ViewUsers => write!(f, "ViewUsers"),
Self::ViewFiles => write!(f, "ViewFiles"),
Self::ViewReports => write!(f, "ViewReports"),
Self::ModifyAccount => write!(f, "ModifyAccount"),
Self::ModifyContacts => write!(f, "ModifyContacts"),
Self::ModifyForms => write!(f, "ModifyForms"),
Self::ModifyTemplates => write!(f, "ModifyTemplates"),
Self::ModifyCampaigns => write!(f, "ModifyCampaigns"),
Self::ModifyChannels => write!(f, "ModifyChannels"),
Self::ModifyAutomations => write!(f, "ModifyAutomations"),
Self::ModifySurveys => write!(f, "ModifySurveys"),
Self::ModifyFiles => write!(f, "ModifyFiles"),
Self::Export => write!(f, "Export"),
Self::SendSmtp => write!(f, "SendSmtp"),
Self::SendSms => write!(f, "SendSMS"),
Self::ModifySettings => write!(f, "ModifySettings"),
Self::ModifyBilling => write!(f, "ModifyBilling"),
Self::ModifyProfile => write!(f, "ModifyProfile"),
Self::ModifySubAccounts => write!(f, "ModifySubAccounts"),
Self::ModifyUsers => write!(f, "ModifyUsers"),
Self::Security => write!(f, "Security"),
Self::ModifyLanguage => write!(f, "ModifyLanguage"),
Self::ViewSupport => write!(f, "ViewSupport"),
Self::SendHttp => write!(f, "SendHttp"),
Self::Modify2FaEmail => write!(f, "Modify2FAEmail"),
Self::ModifySupport => write!(f, "ModifySupport"),
Self::ViewCustomFields => write!(f, "ViewCustomFields"),
Self::ModifyCustomFields => write!(f, "ModifyCustomFields"),
Self::ModifyWebNotifications => write!(f, "ModifyWebNotifications"),
Self::ExtendedLogs => write!(f, "ExtendedLogs"),
Self::VerifyEmails => write!(f, "VerifyEmails"),
Self::Modify2FaSms => write!(f, "Modify2FASms"),
Self::ViewVerifyEmails => write!(f, "ViewVerifyEmails"),
Self::ViewAccessTokens => write!(f, "ViewAccessTokens"),
Self::ViewWebNotifications => write!(f, "ViewWebNotifications"),
Self::ModifyLandingPages => write!(f, "ModifyLandingPages"),
Self::ViewLandingPages => write!(f, "ViewLandingPages"),
Self::ModifySuppressions => write!(f, "ModifySuppressions"),
Self::ViewSuppressions => write!(f, "ViewSuppressions"),
Self::ViewDragDropEditor => write!(f, "ViewDragDropEditor"),
Self::ViewTemplateEditor => write!(f, "ViewTemplateEditor"),
Self::ViewAiTools => write!(f, "ViewAITools"),
Self::ModifySubscriptionAntiSpam => write!(f, "ModifySubscriptionAntiSpam"),
Self::ViewLandingPagesCheckout => write!(f, "ViewLandingPagesCheckout"),
Self::ModifyLandingPagesCheckout => write!(f, "ModifyLandingPagesCheckout"),
Self::ViewHtmlEditor => write!(f, "ViewHTMLEditor"),
Self::ModifyAccessTokens => write!(f, "ModifyAccessTokens"),
Self::ViewPaidNewsletters => write!(f, "ViewPaidNewsletters"),
Self::ModifyPaidNewsletters => write!(f, "ModifyPaidNewsletters"),
}
}
}
impl Default for AccessLevel {
fn default() -> AccessLevel {
Self::None
}
}