admin: restore function to add team and members
This commit is contained in:
parent
a46739ac36
commit
1af5a92f80
|
@ -30,10 +30,12 @@ func init() {
|
|||
router.GET("/api/teams/", apiHandler(
|
||||
func(httprouter.Params,[]byte) (interface{}, error) {
|
||||
return fic.GetTeams() }))
|
||||
router.POST("/api/teams/", apiHandler(createTeam))
|
||||
|
||||
router.GET("/api/teams/:tid/", apiHandler(teamHandler(
|
||||
func(team fic.Team, _ []byte) (interface{}, error) {
|
||||
return team, nil })))
|
||||
router.POST("/api/teams/:tid/", apiHandler(teamHandler(addTeamMember)))
|
||||
router.DELETE("/api/teams/:tid/", apiHandler(teamHandler(
|
||||
func(team fic.Team, _ []byte) (interface{}, error) {
|
||||
return team.Delete() })))
|
||||
|
@ -126,23 +128,23 @@ type uploadedMember struct {
|
|||
Company string
|
||||
}
|
||||
|
||||
func createTeam(args map[string]string, body []byte) (interface{}, error) {
|
||||
func createTeam(_ httprouter.Params, body []byte) (interface{}, error) {
|
||||
var ut uploadedTeam
|
||||
if err := json.Unmarshal(body, &ut); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return fic.CreateTeam(ut.Name, ut.Color)
|
||||
return fic.CreateTeam(strings.TrimSpace(ut.Name), ut.Color)
|
||||
}
|
||||
|
||||
func addTeamMember(team fic.Team, args map[string]string, body []byte) (interface{}, error) {
|
||||
func addTeamMember(team fic.Team, body []byte) (interface{}, error) {
|
||||
var members []uploadedMember
|
||||
if err := json.Unmarshal(body, &members); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, member := range members {
|
||||
team.AddMember(member.Firstname, member.Lastname, member.Nickname, member.Company)
|
||||
team.AddMember(strings.TrimSpace(member.Firstname), strings.TrimSpace(member.Lastname), strings.TrimSpace(member.Nickname), strings.TrimSpace(member.Company))
|
||||
}
|
||||
|
||||
return team.GetMembers()
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package fic
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
@ -59,7 +60,9 @@ func GetTeamByInitialName(initialName string) (Team, error) {
|
|||
// CRUD method
|
||||
|
||||
func CreateTeam(name string, color uint32) (Team, error) {
|
||||
if res, err := DBExec("INSERT INTO teams (initial_name, name, color) VALUES (?, ?, ?)", name, name, color); err != nil {
|
||||
re := regexp.MustCompile("[^a-zA-Z0-9]+")
|
||||
initialName := re.ReplaceAllLiteralString(name, "_")
|
||||
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 {
|
||||
return Team{}, err
|
||||
|
|
Loading…
Reference in New Issue
Block a user