preps historic events management

This commit is contained in:
2019-10-27 15:53:01 +01:00
parent 40e39d5a65
commit ae991bf4dc
4 changed files with 121 additions and 70 deletions

View File

@@ -41,6 +41,42 @@ pub fn create_pool() -> Pool {
}
/// Every possible update which can happen during a query
#[derive(Serialize, Debug)]
pub enum Update {
Wealth(Wealth),
ItemAdded(Item),
ItemRemoved(Item),
ClaimAdded(Claim),
ClaimRemoved(Claim),
}
/// Every value which can be queried
#[derive(Debug)]
pub enum Value {
Player(Player),
Item(Item),
Claim(Claim),
ItemList(Vec<Item>),
ClaimList(Vec<Claim>),
PlayerList(Vec<Player>),
Notifications(Vec<String>),
}
impl serde::Serialize for Value {
fn serialize<S: serde::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
match self {
Value::Player(v) => v.serialize(serializer),
Value::Item(v) => v.serialize(serializer),
Value::Claim(v) => v.serialize(serializer),
Value::ItemList(v) => v.serialize(serializer),
Value::ClaimList(v) => v.serialize(serializer),
Value::PlayerList(v) => v.serialize(serializer),
Value::Notifications(v) => v.serialize(serializer),
}
}
}
/// Sells a single item inside a transaction
///
/// # Returns