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