From 59ae11e68d0bc3ccc0b694d801f76970b92ed42e Mon Sep 17 00:00:00 2001 From: nemunaire Date: Wed, 20 Jan 2016 10:14:13 +0100 Subject: [PATCH] Add a color field for teams --- admin/api_team.go | 7 ++++--- libfic/db.go | 3 ++- libfic/team.go | 19 ++++++++++--------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/admin/api_team.go b/admin/api_team.go index 84d37055..bdfc926e 100644 --- a/admin/api_team.go +++ b/admin/api_team.go @@ -82,7 +82,8 @@ func nginxGenTeam() (string, error) { } type uploadedTeam struct { - Name string + Name string + Color int64 } type uploadedMember struct { @@ -126,7 +127,7 @@ func creationTeam(args []string, body []byte) (interface{}, error) { return nil, err } - return fic.CreateTeam(ut.Name) + return fic.CreateTeam(ut.Name, ut.Color) } else { return nil, nil } @@ -156,7 +157,7 @@ func creationTeamMembers(args []string, body []byte) (interface{}, error) { return nil, err } - if team, err := fic.CreateTeam(""); err != nil { + if team, err := fic.CreateTeam("", 0); err != nil { return nil, err } else { for _, member := range members { diff --git a/libfic/db.go b/libfic/db.go index cfd89d58..75e4bb84 100644 --- a/libfic/db.go +++ b/libfic/db.go @@ -27,7 +27,8 @@ CREATE TABLE IF NOT EXISTS themes( ); CREATE TABLE IF NOT EXISTS teams( id_team INTEGER NOT NULL PRIMARY KEY, - name TEXT NOT NULL + name TEXT NOT NULL, + color INTEGER NOT NULL ); CREATE TABLE IF NOT EXISTS team_certificates( id_team INTEGER NOT NULL PRIMARY KEY, diff --git a/libfic/team.go b/libfic/team.go index e9f742f1..7a44f32f 100644 --- a/libfic/team.go +++ b/libfic/team.go @@ -5,12 +5,13 @@ import ( ) type Team struct { - Id int64 `json:"id"` - Name string `json:"name"` + Id int64 `json:"id"` + Name string `json:"name"` + Color int64 `json:"color"` } func GetTeams() ([]Team, error) { - if rows, err := DBQuery("SELECT id_team, name FROM teams"); err != nil { + if rows, err := DBQuery("SELECT id_team, name, color FROM teams"); err != nil { return nil, err } else { defer rows.Close() @@ -18,7 +19,7 @@ func GetTeams() ([]Team, error) { var teams = make([]Team, 0) for rows.Next() { var t Team - if err := rows.Scan(&t.Id, &t.Name); err != nil { + if err := rows.Scan(&t.Id, &t.Name, &t.Color); err != nil { return nil, err } teams = append(teams, t) @@ -33,25 +34,25 @@ func GetTeams() ([]Team, error) { func GetTeam(id int) (Team, error) { var t Team - if err := DBQueryRow("SELECT id_team, name FROM teams WHERE id_team = ?", id).Scan(&t.Id, &t.Name); err != nil { + if err := DBQueryRow("SELECT id_team, name, color FROM teams WHERE id_team = ?", id).Scan(&t.Id, &t.Name, &t.Color); err != nil { return t, err } return t, nil } -func CreateTeam(name string) (Team, error) { - if res, err := DBExec("INSERT INTO teams (name) VALUES (?)", name); err != nil { +func CreateTeam(name string, color int64) (Team, error) { + if res, err := DBExec("INSERT INTO teams (name, color) VALUES (?, ?)", name, color); err != nil { return Team{}, err } else if tid, err := res.LastInsertId(); err != nil { return Team{}, err } else { - return Team{tid, name}, nil + return Team{tid, name, color}, nil } } func (t Team) Update() (int64, error) { - if res, err := DBExec("UPDATE teams SET name = ? WHERE id_team = ?", t.Name, t.Id); err != nil { + if res, err := DBExec("UPDATE teams SET name = ?, color = ? WHERE id_team = ?", t.Name, t.Color, t.Id); err != nil { return 0, err } else if nb, err := res.RowsAffected(); err != nil { return 0, err