use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WebhookPayloadAccountDisconnectedAccount {
#[serde(rename = "accountId")]
pub account_id: String,
#[serde(rename = "profileId")]
pub profile_id: String,
#[serde(rename = "platform")]
pub platform: String,
#[serde(rename = "username")]
pub username: String,
#[serde(rename = "displayName", skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "disconnectionType")]
pub disconnection_type: DisconnectionType,
#[serde(rename = "reason")]
pub reason: String,
}
impl WebhookPayloadAccountDisconnectedAccount {
pub fn new(
account_id: String,
profile_id: String,
platform: String,
username: String,
disconnection_type: DisconnectionType,
reason: String,
) -> WebhookPayloadAccountDisconnectedAccount {
WebhookPayloadAccountDisconnectedAccount {
account_id,
profile_id,
platform,
username,
display_name: None,
disconnection_type,
reason,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DisconnectionType {
#[serde(rename = "intentional")]
Intentional,
#[serde(rename = "unintentional")]
Unintentional,
}
impl Default for DisconnectionType {
fn default() -> DisconnectionType {
Self::Intentional
}
}