frontend: team registration
This commit is contained in:
parent
bc135d00c5
commit
184714aeeb
10 changed files with 208 additions and 28 deletions
|
|
@ -68,7 +68,7 @@ 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,
|
||||
initial_name VARCHAR(255) NOT NULL UNIQUE,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
color INTEGER NOT NULL
|
||||
) DEFAULT CHARACTER SET = utf8 COLLATE = utf8_bin;
|
||||
|
|
|
|||
|
|
@ -52,7 +52,15 @@ func (t Team) AddMember(firstname string, lastname string, nickname string, comp
|
|||
}
|
||||
|
||||
func (t Team) GainMember(m Member) error {
|
||||
if res, err := DBExec("UPDATE team_members SET id_team = ? WHERE id_member = ?", t.Id, m.Id); err != nil {
|
||||
if m.Id == 0 {
|
||||
if res, err := DBExec("INSERT INTO team_members (id_team, firstname, lastname, nickname, company) VALUES (?, ?, ?, ?, ?)", t.Id, m.Firstname, m.Lastname, m.Nickname, m.Company); err != nil {
|
||||
return err
|
||||
} else if _, err := res.LastInsertId(); err != nil {
|
||||
return err
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
} else if res, err := DBExec("UPDATE team_members SET id_team = ? WHERE id_member = ?", t.Id, m.Id); err != nil {
|
||||
return err
|
||||
} else if _, err := res.RowsAffected(); err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -62,6 +62,10 @@ func GetTeamByInitialName(initialName string) (Team, error) {
|
|||
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 {
|
||||
return Team{}, err
|
||||
} else if tid, err := res.LastInsertId(); err != nil {
|
||||
|
|
|
|||
Reference in a new issue