Implement team creation
This commit is contained in:
parent
5a6bac928e
commit
b958b01635
1 changed files with 35 additions and 2 deletions
|
@ -1,14 +1,16 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ApiTeamsRouting = map[string]DispatchFunction{
|
var ApiTeamsRouting = map[string]DispatchFunction{
|
||||||
"GET": list,
|
"GET": listTeam,
|
||||||
|
"POST": creationTeam,
|
||||||
}
|
}
|
||||||
|
|
||||||
func list(args []string, body []byte) (interface{}, error) {
|
func listTeam(args []string, body []byte) (interface{}, error) {
|
||||||
if len(args) == 1 {
|
if len(args) == 1 {
|
||||||
// List given team
|
// List given team
|
||||||
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
if tid, err := strconv.Atoi(string(args[0])); err != nil {
|
||||||
|
@ -25,3 +27,34 @@ func list(args []string, body []byte) (interface{}, error) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func creationTeam(args []string, body []byte) (interface{}, error) {
|
||||||
|
if len(args) == 0 {
|
||||||
|
type UploadedMember struct {
|
||||||
|
Firstname string
|
||||||
|
Lastname string
|
||||||
|
Nickname string
|
||||||
|
Company string
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a new team
|
||||||
|
var members []UploadedMember
|
||||||
|
if err := json.Unmarshal(body, &members); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if team, err := CreateTeam(""); err != nil {
|
||||||
|
return nil, err
|
||||||
|
} else {
|
||||||
|
for _, member := range members {
|
||||||
|
if _, err := team.AddMember(member.Firstname, member.Lastname, member.Nickname, member.Company); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "Ok", nil
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return nil,nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Reference in a new issue