use serde::{Deserialize, Serialize};
use crate::posts::{Cast, CastId};
#[derive(Debug, Serialize, Deserialize, Clone)]
pub enum LinkAction {
AddFollow(LinkInfo),
RemoveFollow(LinkInfo)
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct LinkInfo {
pub source_fid: u64,
pub target_fid: u64,
pub timestamp: u32
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct ReactionInfo {
pub reference: CastId,
pub timestamp: u32,
pub reaction_type: i32
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub enum ReactionAction {
Add(ReactionInfo),
Remove(ReactionInfo),
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub enum CastAction {
CastAdd(Cast),
CastRemove(CastId)
}