instance finished flag in db
This commit is contained in:
@@ -295,6 +295,10 @@ impl Instance {
|
||||
self
|
||||
}
|
||||
|
||||
fn finished(&self) -> bool {
|
||||
self.phase == InstancePhase::Finished
|
||||
}
|
||||
|
||||
fn bot_round_actions(&mut self) -> &mut Instance {
|
||||
for bot in self.players.iter_mut().filter(|p| p.bot) {
|
||||
bot.vbox.fill();
|
||||
@@ -501,13 +505,13 @@ pub fn instance_update(tx: &mut Transaction, instance: Instance) -> Result<Insta
|
||||
|
||||
let query = "
|
||||
UPDATE instances
|
||||
SET data = $1, open = $2, updated_at = now()
|
||||
WHERE id = $3
|
||||
SET data = $1, open = $2, finished = $3, updated_at = now()
|
||||
WHERE id = $4
|
||||
RETURNING id, data;
|
||||
";
|
||||
|
||||
let result = tx
|
||||
.query(query, &[&instance_bytes, &instance.open, &instance.id])?;
|
||||
.query(query, &[&instance_bytes, &instance.open, &instance.finished(), &instance.id])?;
|
||||
|
||||
result.iter().next().ok_or(err_msg("no instance row returned"))?;
|
||||
|
||||
@@ -582,7 +586,8 @@ pub fn instances_need_upkeep(tx: &mut Transaction) -> Result<Vec<Instance>, Erro
|
||||
let query = "
|
||||
SELECT data, id
|
||||
FROM instances
|
||||
WHERE id != '00000000-0000-0000-0000-000000000000'
|
||||
WHERE finished = false
|
||||
AND id != '00000000-0000-0000-0000-000000000000'
|
||||
FOR UPDATE;
|
||||
";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user