feat(api): add POST /members
This commit is contained in:
parent
f2a298da75
commit
773f20d135
6 changed files with 249 additions and 14 deletions
|
@ -3,11 +3,36 @@ package member
|
|||
import (
|
||||
"net/http"
|
||||
|
||||
"codeberg.org/u1f320/pronouns.cc/backend/db"
|
||||
"codeberg.org/u1f320/pronouns.cc/backend/server"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/go-chi/render"
|
||||
"github.com/rs/xid"
|
||||
)
|
||||
|
||||
type memberListResponse struct {
|
||||
ID xid.ID `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Bio *string `json:"bio"`
|
||||
AvatarURLs []string `json:"avatar_urls"`
|
||||
Links []string `json:"links"`
|
||||
}
|
||||
|
||||
func membersToMemberList(ms []db.Member) []memberListResponse {
|
||||
resps := make([]memberListResponse, len(ms))
|
||||
for i := range ms {
|
||||
resps[i] = memberListResponse{
|
||||
ID: ms[i].ID,
|
||||
Name: ms[i].Name,
|
||||
Bio: ms[i].Bio,
|
||||
AvatarURLs: ms[i].AvatarURLs,
|
||||
Links: ms[i].Links,
|
||||
}
|
||||
}
|
||||
|
||||
return resps
|
||||
}
|
||||
|
||||
func (s *Server) getUserMembers(w http.ResponseWriter, r *http.Request) error {
|
||||
ctx := r.Context()
|
||||
|
||||
|
@ -23,7 +48,7 @@ func (s *Server) getUserMembers(w http.ResponseWriter, r *http.Request) error {
|
|||
return err
|
||||
}
|
||||
|
||||
render.JSON(w, r, ms)
|
||||
render.JSON(w, r, membersToMemberList(ms))
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -36,6 +61,6 @@ func (s *Server) getMeMembers(w http.ResponseWriter, r *http.Request) error {
|
|||
return err
|
||||
}
|
||||
|
||||
render.JSON(w, r, ms)
|
||||
render.JSON(w, r, membersToMemberList(ms))
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue