use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SetCommentModerationRequest {
#[serde(rename = "accountId")]
pub account_id: String,
#[serde(rename = "platform")]
pub platform: Platform,
#[serde(rename = "moderationStatus")]
pub moderation_status: ModerationStatus,
#[serde(rename = "banAuthor", skip_serializing_if = "Option::is_none")]
pub ban_author: Option<bool>,
}
impl SetCommentModerationRequest {
pub fn new(
account_id: String,
platform: Platform,
moderation_status: ModerationStatus,
) -> SetCommentModerationRequest {
SetCommentModerationRequest {
account_id,
platform,
moderation_status,
ban_author: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Platform {
#[serde(rename = "youtube")]
Youtube,
}
impl Default for Platform {
fn default() -> Platform {
Self::Youtube
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ModerationStatus {
#[serde(rename = "published")]
Published,
#[serde(rename = "rejected")]
Rejected,
#[serde(rename = "heldForReview")]
HeldForReview,
}
impl Default for ModerationStatus {
fn default() -> ModerationStatus {
Self::Published
}
}