use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LikePostRequest {
#[serde(rename = "accountId")]
pub account_id: String,
#[serde(rename = "reactionType", skip_serializing_if = "Option::is_none")]
pub reaction_type: Option<ReactionType>,
#[serde(rename = "cid", skip_serializing_if = "Option::is_none")]
pub cid: Option<String>,
}
impl LikePostRequest {
pub fn new(account_id: String) -> LikePostRequest {
LikePostRequest {
account_id,
reaction_type: None,
cid: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ReactionType {
#[serde(rename = "LIKE")]
Like,
#[serde(rename = "PRAISE")]
Praise,
#[serde(rename = "EMPATHY")]
Empathy,
#[serde(rename = "INTEREST")]
Interest,
#[serde(rename = "APPRECIATION")]
Appreciation,
#[serde(rename = "ENTERTAINMENT")]
Entertainment,
}
impl Default for ReactionType {
fn default() -> ReactionType {
Self::Like
}
}