Delete table when empty

This commit is contained in:
Christoph Hagen
2021-12-23 11:16:29 +01:00
parent 15d2b3d670
commit f97604e3bf
2 changed files with 12 additions and 4 deletions

View File

@ -110,11 +110,16 @@ final class TableManagement {
guard let oldTable = currentTable(for: player.name) else {
return database.eventLoop.makeSucceededVoidFuture()
}
player.$table.id = nil
guard let table = WaitingTable(oldTable: oldTable, removing: player.name) else {
tables[oldTable.id] = nil
return Table.query(on: database).filter(\.$id == oldTable.id).delete().flatMap {
player.update(on: database)
}
}
/// `player.canStartGame` is automatically set to false, because table is not full
let table = WaitingTable(oldTable: oldTable, removing: player.name)
tables[table.id] = table
table.sendUpdateToAllPlayers()
player.$table.id = nil
// TODO: Update points for all players
return player.update(on: database)
}