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(
|
router.GET("/api/teams/", apiHandler(
|
||||||
func(httprouter.Params,[]byte) (interface{}, error) {
|
func(httprouter.Params,[]byte) (interface{}, error) {
|
||||||
return fic.GetTeams() }))
|
return fic.GetTeams() }))
|
||||||
|
router.POST("/api/teams/", apiHandler(createTeam))
|
||||||
|
|
||||||
router.GET("/api/teams/:tid/", apiHandler(teamHandler(
|
router.GET("/api/teams/:tid/", apiHandler(teamHandler(
|
||||||
func(team fic.Team, _ []byte) (interface{}, error) {
|
func(team fic.Team, _ []byte) (interface{}, error) {
|
||||||
return team, nil })))
|
return team, nil })))
|
||||||
|
router.POST("/api/teams/:tid/", apiHandler(teamHandler(addTeamMember)))
|
||||||
router.DELETE("/api/teams/:tid/", apiHandler(teamHandler(
|
router.DELETE("/api/teams/:tid/", apiHandler(teamHandler(
|
||||||
func(team fic.Team, _ []byte) (interface{}, error) {
|
func(team fic.Team, _ []byte) (interface{}, error) {
|
||||||
return team.Delete() })))
|
return team.Delete() })))
|
||||||
|
@ -126,23 +128,23 @@ type uploadedMember struct {
|
||||||
Company string
|
Company string
|
||||||
}
|
}
|
||||||
|
|
||||||
func createTeam(args map[string]string, body []byte) (interface{}, error) {
|
func createTeam(_ httprouter.Params, body []byte) (interface{}, error) {
|
||||||
var ut uploadedTeam
|
var ut uploadedTeam
|
||||||
if err := json.Unmarshal(body, &ut); err != nil {
|
if err := json.Unmarshal(body, &ut); err != nil {
|
||||||
return nil, err
|
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
|
var members []uploadedMember
|
||||||
if err := json.Unmarshal(body, &members); err != nil {
|
if err := json.Unmarshal(body, &members); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, member := range members {
|
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()
|
return team.GetMembers()
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package fic
|
package fic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"regexp"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -59,7 +60,9 @@ func GetTeamByInitialName(initialName string) (Team, error) {
|
||||||
// CRUD method
|
// CRUD method
|
||||||
|
|
||||||
func CreateTeam(name string, color uint32) (Team, error) {
|
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
|
return Team{}, err
|
||||||
} else if tid, err := res.LastInsertId(); err != nil {
|
} else if tid, err := res.LastInsertId(); err != nil {
|
||||||
return Team{}, err
|
return Team{}, err
|
||||||
|
|
Loading…
Reference in New Issue
Block a user