#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateUserDto {
#[serde(rename = "companyId")]
pub company_id: String,
#[serde(rename = "firstName")]
pub first_name: String,
#[serde(rename = "lastName")]
pub last_name: String,
pub email: String,
pub password: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(rename = "type")]
pub type_: String,
pub role: String,
#[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
pub location_ids: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<PermissionsDto>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub scopes: Vec<String>,
#[serde(
rename = "scopesAssignedToOnly",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub scopes_assigned_to_only: Vec<String>,
#[serde(
rename = "profilePhoto",
default,
skip_serializing_if = "Option::is_none"
)]
pub profile_photo: Option<String>,
#[serde(
rename = "twilioPhone",
default,
skip_serializing_if = "Option::is_none"
)]
pub twilio_phone: Option<serde_json::Value>,
#[serde(
rename = "platformLanguage",
default,
skip_serializing_if = "Option::is_none"
)]
pub platform_language: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteUserSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FilterByEmailDto {
#[serde(rename = "companyId")]
pub company_id: String,
pub emails: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub skip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limit: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub projection: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct LocationSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub users: Vec<UserSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct PermissionsDto {
#[serde(
rename = "campaignsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaigns_enabled: Option<bool>,
#[serde(
rename = "campaignsReadOnly",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaigns_read_only: Option<bool>,
#[serde(
rename = "contactsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub contacts_enabled: Option<bool>,
#[serde(
rename = "workflowsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub workflows_enabled: Option<bool>,
#[serde(
rename = "workflowsReadOnly",
default,
skip_serializing_if = "Option::is_none"
)]
pub workflows_read_only: Option<bool>,
#[serde(
rename = "triggersEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub triggers_enabled: Option<bool>,
#[serde(
rename = "funnelsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub funnels_enabled: Option<bool>,
#[serde(
rename = "websitesEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub websites_enabled: Option<bool>,
#[serde(
rename = "opportunitiesEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub opportunities_enabled: Option<bool>,
#[serde(
rename = "dashboardStatsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub dashboard_stats_enabled: Option<bool>,
#[serde(
rename = "bulkRequestsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub bulk_requests_enabled: Option<bool>,
#[serde(
rename = "appointmentsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub appointments_enabled: Option<bool>,
#[serde(
rename = "reviewsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub reviews_enabled: Option<bool>,
#[serde(
rename = "onlineListingsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub online_listings_enabled: Option<bool>,
#[serde(
rename = "phoneCallEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub phone_call_enabled: Option<bool>,
#[serde(
rename = "conversationsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub conversations_enabled: Option<bool>,
#[serde(
rename = "assignedDataOnly",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_data_only: Option<bool>,
#[serde(
rename = "adwordsReportingEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub adwords_reporting_enabled: Option<bool>,
#[serde(
rename = "membershipEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub membership_enabled: Option<bool>,
#[serde(
rename = "facebookAdsReportingEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub facebook_ads_reporting_enabled: Option<bool>,
#[serde(
rename = "attributionsReportingEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub attributions_reporting_enabled: Option<bool>,
#[serde(
rename = "settingsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub settings_enabled: Option<bool>,
#[serde(
rename = "tagsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub tags_enabled: Option<bool>,
#[serde(
rename = "leadValueEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub lead_value_enabled: Option<bool>,
#[serde(
rename = "marketingEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub marketing_enabled: Option<bool>,
#[serde(
rename = "agentReportingEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub agent_reporting_enabled: Option<bool>,
#[serde(
rename = "botService",
default,
skip_serializing_if = "Option::is_none"
)]
pub bot_service: Option<bool>,
#[serde(
rename = "socialPlanner",
default,
skip_serializing_if = "Option::is_none"
)]
pub social_planner: Option<bool>,
#[serde(
rename = "bloggingEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub blogging_enabled: Option<bool>,
#[serde(
rename = "invoiceEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub invoice_enabled: Option<bool>,
#[serde(
rename = "affiliateManagerEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub affiliate_manager_enabled: Option<bool>,
#[serde(
rename = "contentAiEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub content_ai_enabled: Option<bool>,
#[serde(
rename = "refundsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub refunds_enabled: Option<bool>,
#[serde(
rename = "recordPaymentEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub record_payment_enabled: Option<bool>,
#[serde(
rename = "cancelSubscriptionEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub cancel_subscription_enabled: Option<bool>,
#[serde(
rename = "paymentsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub payments_enabled: Option<bool>,
#[serde(
rename = "communitiesEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub communities_enabled: Option<bool>,
#[serde(
rename = "exportPaymentsEnabled",
default,
skip_serializing_if = "Option::is_none"
)]
pub export_payments_enabled: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct RoleSchema {
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
pub location_ids: Vec<String>,
#[serde(
rename = "restrictSubAccount",
default,
skip_serializing_if = "Option::is_none"
)]
pub restrict_sub_account: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SearchUserSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub users: Vec<UserSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateUserDto {
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
#[serde(rename = "companyId", default, skip_serializing_if = "Option::is_none")]
pub company_id: Option<String>,
#[serde(rename = "locationIds", default, skip_serializing_if = "Vec::is_empty")]
pub location_ids: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<PermissionsDto>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub scopes: Vec<String>,
#[serde(
rename = "scopesAssignedToOnly",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub scopes_assigned_to_only: Vec<String>,
#[serde(
rename = "profilePhoto",
default,
skip_serializing_if = "Option::is_none"
)]
pub profile_photo: Option<String>,
#[serde(
rename = "twilioPhone",
default,
skip_serializing_if = "Option::is_none"
)]
pub twilio_phone: Option<serde_json::Value>,
#[serde(
rename = "platformLanguage",
default,
skip_serializing_if = "Option::is_none"
)]
pub platform_language: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UserSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extension: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<PermissionsDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub roles: Option<RoleSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "lcPhone", default, skip_serializing_if = "Option::is_none")]
pub lc_phone: Option<serde_json::Value>,
#[serde(
rename = "platformLanguage",
default,
skip_serializing_if = "Option::is_none"
)]
pub platform_language: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UserSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extension: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub permissions: Option<PermissionsDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub scopes: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub roles: Option<RoleSchema>,
#[serde(rename = "lcPhone", default, skip_serializing_if = "Option::is_none")]
pub lc_phone: Option<serde_json::Value>,
#[serde(
rename = "platformLanguage",
default,
skip_serializing_if = "Option::is_none"
)]
pub platform_language: Option<String>,
}