diff --git a/lootalot_db/src/lib.rs b/lootalot_db/src/lib.rs index 6fa7bda..513ec3a 100644 --- a/lootalot_db/src/lib.rs +++ b/lootalot_db/src/lib.rs @@ -14,7 +14,6 @@ use diesel::query_dsl::RunQueryDsl; use diesel::r2d2::{self, ConnectionManager}; pub mod models; -//mod updates; mod schema; pub use models::{ diff --git a/lootalot_db/src/updates.rs b/lootalot_db/src/updates.rs deleted file mode 100644 index c879d13..0000000 --- a/lootalot_db/src/updates.rs +++ /dev/null @@ -1,63 +0,0 @@ -//! -//! updates.rs -//! -//! Contains semantic mutations of database -//! -use crate::models::player::Wealth; -use crate::DbConnection; - -type PlayerId = i32; -type ItemId = i32; - -enum LootUpdate { - AddedItem(ItemId), - RemovedItem(Item), - GivenToPlayer(ItemId), -} - -impl LootUpdate { - fn add_loot( - conn: &DbConnection, - to_player: PlayerId, - item_desc: Item, - ) -> Result { - use schema::looted::dsl::*; - let new_item = models::item::NewLoot::to_player(to_player, &item_desc); - diesel::insert_into(looted) - .values(&new_item) - .execute(conn)?; - // Return newly created - let created_id = looted.select(id).order(id.desc()).first(conn)?; - Ok(LootUpdate::AddedItem(created_id)) - } - - fn remove_loot(conn: &DbConnection, loot_id: ItemId) -> Result { - use schema::looted::dsl::*; - } - - fn give_to_player(conn: &DbConnection, loot_id: ItemId) -> Result { - use schema::looted::dsl::*; - } -} - -impl LootUpdate { - fn undo(self, conn: &DbConnection) -> Result<(), diesel::result::Error> { - match self { - LootUpdate::AddedItem(item_id) => { - // Remove the item - } - LootUpdate::RemovedItem(item) => { - // Add the item back - } - LootUpdate::GivenToPlayer(item_id) => { - // Change owner to group - } - } - } -} - -enum PlayerUpdate { - Wealth(Wealth), - ClaimItem(ItemId), - UnclaimItem(ItemId), -}