@@ 141,12 141,21 @@ func (r *mutationResolver) CancelQueue(ctx context.Context, id int) (int, error)
query := `
UPDATE "User"
SET queueing = false
- WHERE id = $1`
- _, err := database.DB.Exec(query, id)
+ WHERE id = $1 AND queueing`
+ result, err := database.DB.Exec(query, id)
if err != nil {
return -1, err
}
+ count, err := result.RowsAffected()
+ if err != nil {
+ return -1, err
+ }
+
+ if count != 1 {
+ return -1, errors.New("user not in queue")
+ }
+
players, err := database.PlayersInQueue()
return players, err
}