itAllow having multiple flags for the same chapter - scoreboard - Interactive scoreboard for CTF-like games Err z3bra.org 70 hgit clone git://git.z3bra.org/scoreboard.git URL:git://git.z3bra.org/scoreboard.git z3bra.org 70 1Log /scm/scoreboard/log.gph z3bra.org 70 1Files /scm/scoreboard/files.gph z3bra.org 70 1Refs /scm/scoreboard/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit 4e55278ba45d60e799d7ffa66788b8db4ab81db5 /scm/scoreboard/commit/4e55278ba45d60e799d7ffa66788b8db4ab81db5.gph z3bra.org 70 1parent fa790c7999b6849352187e0619a7a20d070c585b /scm/scoreboard/commit/fa790c7999b6849352187e0619a7a20d070c585b.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:contact@z3bra.org z3bra.org 70 iDate: Thu, 7 Sep 2023 20:01:27 +0200 Err z3bra.org 70 i Err z3bra.org 70 iAllow having multiple flags for the same chapter Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M db.go | 10 +++++----- Err z3bra.org 70 i M main.go | 21 +++++++++++++-------- Err z3bra.org 70 i Err z3bra.org 70 i2 files changed, 18 insertions(+), 13 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/db.go b/db.go /scm/scoreboard/file/db.go.gph z3bra.org 70 it@@ -138,18 +138,18 @@ func db_ranked_players(db *sql.DB, offset, limit int) ([]Player, error) { Err z3bra.org 70 i return players, nil Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i-func db_flags(db *sql.DB) ([]string, error) { Err z3bra.org 70 i- query := `SELECT value FROM flag ORDER BY chapter;` Err z3bra.org 70 i+func db_flags(db *sql.DB) ([]Flag, error) { Err z3bra.org 70 i+ query := `SELECT chapter,value FROM flag ORDER BY chapter;` Err z3bra.org 70 i Err z3bra.org 70 i rows, err := db.Query(query) Err z3bra.org 70 i if err != nil { Err z3bra.org 70 i return nil, err Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i- flags := make([]string, 0) Err z3bra.org 70 i+ flags := make([]Flag, 0) Err z3bra.org 70 i for rows.Next() { Err z3bra.org 70 i- var flag string Err z3bra.org 70 i- err := rows.Scan(&flag) Err z3bra.org 70 i+ var flag Flag Err z3bra.org 70 i+ err := rows.Scan(&flag.chapter, &flag.value) Err z3bra.org 70 i if err != nil { Err z3bra.org 70 i return nil, err Err z3bra.org 70 i } Err z3bra.org 70 1diff --git a/main.go b/main.go /scm/scoreboard/file/main.go.gph z3bra.org 70 it@@ -41,9 +41,14 @@ Save it carefully, do not share it. Err z3bra.org 70 i ` Err z3bra.org 70 i ) Err z3bra.org 70 i Err z3bra.org 70 i+type Flag struct { Err z3bra.org 70 i+ chapter int Err z3bra.org 70 i+ value string Err z3bra.org 70 i+} Err z3bra.org 70 i+ Err z3bra.org 70 i type Application struct { Err z3bra.org 70 i flag int Err z3bra.org 70 i- flag_ref []string Err z3bra.org 70 i+ flag_ref []Flag Err z3bra.org 70 i db *sql.DB Err z3bra.org 70 i app *tview.Application Err z3bra.org 70 i html string Err z3bra.org 70 it@@ -63,8 +68,8 @@ func usage() { Err z3bra.org 70 i Err z3bra.org 70 i func flagid(hash string) int { Err z3bra.org 70 i for i := 0; i