cal-core 0.2.158

Callable core lib
Documentation
use crate::{Account, Region, User};
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Clone)]
#[serde(tag = "type")]
pub enum RedisEvent {
    AccountSync,
    AccountCreate(AccountUpdate),
    AccountUpdate(AccountUpdate),
    AccountDelete(CacheDelete),
    RegionSync,
    RegionCreate(RegionUpdate),
    RegionUpdate(RegionUpdate),
    RegionDelete(CacheDelete),
    UserSync,
    UserCreate(UserCreate),
    UserUpdate(UserUpdate),
    UserDelete(UserDelete),
}

#[derive(Serialize, Deserialize, Clone)]
pub struct AccountUpdate {
    pub payload: Account
}

#[derive(Serialize, Deserialize, Clone)]
pub struct RegionUpdate {
    pub payload: Region
}

#[derive(Serialize, Deserialize, Clone)]
pub struct CacheDelete {
    pub id: String
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserUpdate {
    pub payload: User,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserCreate {
    pub payload: User,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UserDelete {
    pub id: String,
}