admin: new route /members/
This commit is contained in:
parent
416ad65c87
commit
544bbb745c
2 changed files with 31 additions and 0 deletions
|
@ -3,6 +3,7 @@ package api
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"srs.epita.fr/fic-server/libfic"
|
"srs.epita.fr/fic-server/libfic"
|
||||||
|
@ -62,6 +63,9 @@ func init() {
|
||||||
router.GET("/api/teams/:tid/name", apiHandler(teamHandler(
|
router.GET("/api/teams/:tid/name", apiHandler(teamHandler(
|
||||||
func(team fic.Team, _ []byte) (interface{}, error) {
|
func(team fic.Team, _ []byte) (interface{}, error) {
|
||||||
return team.InitialName, nil })))
|
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) {
|
func nginxGenMember() (string, error) {
|
||||||
|
@ -149,3 +153,21 @@ func addTeamMember(team fic.Team, body []byte) (interface{}, error) {
|
||||||
|
|
||||||
return team.GetMembers()
|
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"`
|
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) {
|
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 {
|
if rows, err := DBQuery("SELECT id_member, firstname, lastname, nickname, company FROM team_members WHERE id_team = ?", t.Id); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Reference in a new issue