cal_core/
sync.rs

1use serde::{Deserialize, Serialize};
2use crate::{Account, Region};
3
4#[derive(Serialize, Deserialize, Clone)]
5#[serde(tag = "type")]
6pub enum RedisEvent {
7    AccountSync,
8    AccountCreate(AccountUpdate),
9    AccountUpdate(AccountUpdate),
10    AccountDelete(CacheDelete),
11    RegionSync,
12    RegionCreate(RegionUpdate),
13    RegionUpdate(RegionUpdate),
14    RegionDelete(CacheDelete),
15}
16
17#[derive(Serialize, Deserialize, Clone)]
18pub struct AccountUpdate {
19    pub payload: Account
20}
21
22#[derive(Serialize, Deserialize, Clone)]
23pub struct RegionUpdate {
24    pub payload: Region
25}
26
27#[derive(Serialize, Deserialize, Clone)]
28pub struct CacheDelete {
29    pub id: String
30}
31
32