Remove team's initial_name, replaced by their ID

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

View file

@ -76,7 +76,6 @@ CREATE TABLE IF NOT EXISTS themes(
if _, err := db.Exec(`
CREATE TABLE IF NOT EXISTS teams(
id_team INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
initial_name VARCHAR(255) NOT NULL UNIQUE,
name VARCHAR(255) NOT NULL,
color INTEGER NOT NULL
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin;

View file

@ -12,7 +12,7 @@ type Member struct {
func GetMember(cnt int) (Team, error) {
var t Team
if err := DBQueryRow("SELECT T.id_team, T.initial_name, T.name, T.color FROM team_members M RIGHT OUTER JOIN teams T ON T.id_team = M.id_team LIMIT ?, 1", cnt - 1).Scan(&t.Id, &t.InitialName, &t.Name, &t.Color); err != nil {
if err := DBQueryRow("SELECT T.id_team, T.name, T.color FROM team_members M RIGHT OUTER JOIN teams T ON T.id_team = M.id_team LIMIT ?, 1", cnt - 1).Scan(&t.Id, &t.Name, &t.Color); err != nil {
return t, err
}

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
}
}