From 02719884c24f588579471c8f368ab6310630deaa Mon Sep 17 00:00:00 2001 From: ntr Date: Sat, 13 Jul 2019 21:31:48 +1000 Subject: [PATCH] fix accounts balance check; --- .../20180913000513_create_accounts.js | 6 +++-- server/src/mtx.rs | 27 ++++++++++--------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/ops/migrations/20180913000513_create_accounts.js b/ops/migrations/20180913000513_create_accounts.js index 4c0b2070..06961ad3 100755 --- a/ops/migrations/20180913000513_create_accounts.js +++ b/ops/migrations/20180913000513_create_accounts.js @@ -1,5 +1,5 @@ exports.up = async knex => { - return knex.schema.createTable('accounts', table => { + await knex.schema.createTable('accounts', table => { table.uuid('id').primary(); table.timestamps(true, true); @@ -23,8 +23,10 @@ exports.up = async knex => { await knex.schema.raw(` ALTER TABLE accounts - ADD CHECK (balance > 0); + ADD CHECK (balance >= 0); `); + + return true; }; exports.down = async () => {}; \ No newline at end of file diff --git a/server/src/mtx.rs b/server/src/mtx.rs index 7c450ba1..196a5682 100644 --- a/server/src/mtx.rs +++ b/server/src/mtx.rs @@ -18,8 +18,8 @@ pub const FREE_MTX: [MtxVariant; 1] = [ ]; pub const SHOP_LISTINGS: [Listing; 2] = [ - Listing { variant: MtxVariant::ArchitectureMolecular, credits: 10 }, - Listing { variant: MtxVariant::ArchitectureInvader, credits: 10 }, + Listing { variant: MtxVariant::Molecular, credits: 10 }, + Listing { variant: MtxVariant::Invader, credits: 10 }, ]; #[derive(Debug,Clone,PartialEq,Serialize,Deserialize)] @@ -37,8 +37,8 @@ pub struct Listing { #[derive(Debug,Copy,Clone,PartialEq,Serialize,Deserialize)] pub enum MtxVariant { Rename, - ArchitectureMolecular, - ArchitectureInvader, + Molecular, + Invader, } impl MtxVariant { @@ -54,8 +54,8 @@ impl TryFrom for MtxVariant { fn try_from(v: String) -> Result { match v.as_ref() { "Rename" => Ok(MtxVariant::Rename), - "ArchitectureMolecular" => Ok(MtxVariant::ArchitectureMolecular), - "ArchitectureInvader" => Ok(MtxVariant::ArchitectureInvader), + "Molecular" => Ok(MtxVariant::Molecular), + "Invader" => Ok(MtxVariant::Invader), _ => Err(format_err!("mtx variant not found variant={:?}", v)), } } @@ -76,8 +76,8 @@ pub fn apply(tx: &mut Transaction, account: &Account, variant: MtxVariant, const construct = construct.new_img(); match mtx.variant { - MtxVariant::ArchitectureInvader => img::invader_write(construct.img)?, - MtxVariant::ArchitectureMolecular => img::molecular_write(construct.img)?, + MtxVariant::Invader => img::invader_write(construct.img)?, + MtxVariant::Molecular => img::molecular_write(construct.img)?, MtxVariant::Rename => unimplemented!(), // _ => unimplemented!(), }; @@ -114,8 +114,8 @@ impl Mtx { pub fn new(variant: MtxVariant, account: Uuid) -> Mtx { match variant { _ => Mtx { id: Uuid::new_v4(), account, variant }, - // MtxVariant::ArchitectureInvader => Mtx { id: Uuid::new_v4(), account, variant: self }, - // MtxVariant::ArchitectureMolecular => Mtx { id: Uuid::new_v4(), account, variant: self }, + // MtxVariant::Invader => Mtx { id: Uuid::new_v4(), account, variant: self }, + // MtxVariant::Molecular => Mtx { id: Uuid::new_v4(), account, variant: self }, } } @@ -178,7 +178,7 @@ impl Mtx { pub fn account_shop(tx: &mut Transaction, account: &Account) -> Result { let query = " - SELECT variant + SELECT id, variant FROM mtx WHERE account = $1; "; @@ -189,11 +189,12 @@ pub fn account_shop(tx: &mut Transaction, account: &Account) -> Result v, Err(e) => { - warn!("{:?}", e); + warn!("id={:?} {:?}", id, e); continue; }, };