admin: new route /members/
This commit is contained in:
parent
e82b3ba80c
commit
3e01cdac3f
2 changed files with 31 additions and 0 deletions
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Reference in a new issue