admin: new route /members/

This commit is contained in:
nemunaire 2017-01-20 20:52:31 +01:00
parent e82b3ba80c
commit 3e01cdac3f
2 changed files with 31 additions and 0 deletions

View file

@ -3,6 +3,7 @@ package api
import (
"encoding/json"
"fmt"
"strconv"
"strings"
"srs.epita.fr/fic-server/libfic"
@ -62,6 +63,9 @@ func init() {
router.GET("/api/teams/:tid/name", apiHandler(teamHandler(
func(team fic.Team, _ []byte) (interface{}, error) {
return team.InitialName, nil })))
router.GET("/api/members/:mid/team", apiHandler(dispMemberTeam))
router.GET("/api/members/:mid/team/name", apiHandler(dispMemberTeamName))
}
func nginxGenMember() (string, error) {
@ -149,3 +153,21 @@ func addTeamMember(team fic.Team, body []byte) (interface{}, error) {
return team.GetMembers()
}
func dispMemberTeam(ps httprouter.Params, body []byte) (interface{}, error) {
if mid, err := strconv.Atoi(string(ps.ByName("mid"))); err != nil {
return fic.Team{}, err
} else {
return fic.GetMember(mid)
}
}
func dispMemberTeamName(ps httprouter.Params, body []byte) (interface{}, error) {
if mid, err := strconv.Atoi(string(ps.ByName("mid"))); err != nil {
return nil, err
} else if team, err := fic.GetMember(mid); err != nil {
return nil, err
} else {
return team.InitialName, nil
}
}

View file

@ -10,6 +10,15 @@ type Member struct {
Company string `json:"company"`
}
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 {
return t, err
}
return t, nil
}
func (t Team) GetMembers() ([]Member, error) {
if rows, err := DBQuery("SELECT id_member, firstname, lastname, nickname, company FROM team_members WHERE id_team = ?", t.Id); err != nil {
return nil, err