Remove team's initial_name, replaced by their ID

This commit is contained in:
nemunaire 2018-01-21 14:07:44 +01:00
parent 191c89f7ad
commit e083da2f72
9 changed files with 26 additions and 65 deletions

View file

@ -1,7 +1,6 @@
package fic
import (
"regexp"
"time"
)
@ -9,7 +8,6 @@ var UnlockedChallenges bool
type Team struct {
Id int64 `json:"id"`
InitialName string `json:"initialName"`
Name string `json:"name"`
Color uint32 `json:"color"`
}
@ -17,7 +15,7 @@ type Team struct {
// Access functions
func GetTeams() ([]Team, error) {
if rows, err := DBQuery("SELECT id_team, initial_name, name, color FROM teams"); err != nil {
if rows, err := DBQuery("SELECT id_team, name, color FROM teams"); err != nil {
return nil, err
} else {
defer rows.Close()
@ -25,7 +23,7 @@ func GetTeams() ([]Team, error) {
var teams = make([]Team, 0)
for rows.Next() {
var t Team
if err := rows.Scan(&t.Id, &t.InitialName, &t.Name, &t.Color); err != nil {
if err := rows.Scan(&t.Id, &t.Name, &t.Color); err != nil {
return nil, err
}
teams = append(teams, t)
@ -40,16 +38,16 @@ func GetTeams() ([]Team, error) {
func GetTeam(id int) (Team, error) {
var t Team
if err := DBQueryRow("SELECT id_team, initial_name, name, color FROM teams WHERE id_team = ?", id).Scan(&t.Id, &t.InitialName, &t.Name, &t.Color); 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 GetTeamByInitialName(initialName string) (Team, error) {
func GetTeamBySerial(serial int64) (Team, error) {
var t Team
if err := DBQueryRow("SELECT id_team, initial_name, name, color FROM teams WHERE initial_name = ?", initialName).Scan(&t.Id, &t.InitialName, &t.Name, &t.Color); err != nil {
if err := DBQueryRow("SELECT T.id_team, T.name, T.color FROM certificates C INNER JOIN teams T ON T.id_team = C.id_team WHERE id_cert = ?", serial).Scan(&t.Id, &t.Name, &t.Color); err != nil {
return t, err
}
@ -60,18 +58,12 @@ func GetTeamByInitialName(initialName string) (Team, error) {
// CRUD method
func CreateTeam(name string, color uint32) (Team, error) {
re := regexp.MustCompile("[^a-zA-Z0-9]+")
initialName := re.ReplaceAllLiteralString(name, "_")
return RegisterTeam(initialName, name, color)
}
func RegisterTeam(initialName string, name string, color uint32) (Team, error) {
if res, err := DBExec("INSERT INTO teams (initial_name, name, color) VALUES (?, ?, ?)", initialName, name, color); err != nil {
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, name, color}, nil
return Team{tid, name, color}, nil
}
}