diff --git a/internal/api/members/crud.go b/internal/api/members/crud.go index 02383d81..40e735c1 100644 --- a/internal/api/members/crud.go +++ b/internal/api/members/crud.go @@ -7,13 +7,13 @@ import ( "demodesk/neko/internal/types" ) -type MemberCreatePayload struct { +type MemberDataPayload struct { ID string `json:"id"` *types.MemberProfile } func (h *MembersHandler) membersCreate(w http.ResponseWriter, r *http.Request) { - data := &MemberCreatePayload{ + data := &MemberDataPayload{ // default values MemberProfile: &types.MemberProfile{ IsAdmin: false, @@ -58,7 +58,7 @@ func (h *MembersHandler) membersCreate(w http.ResponseWriter, r *http.Request) { return } - utils.HttpSuccess(w, MemberCreatePayload{ + utils.HttpSuccess(w, MemberDataPayload{ ID: session.ID(), }) } diff --git a/internal/api/members/list.go b/internal/api/members/list.go index ec8a9540..48862440 100644 --- a/internal/api/members/list.go +++ b/internal/api/members/list.go @@ -7,6 +7,14 @@ import ( ) func (h *MembersHandler) membersList(w http.ResponseWriter, r *http.Request) { + members := []MemberDataPayload{} + for _, session := range h.sessions.Members() { + profile := session.GetProfile() + members = append(members, MemberDataPayload{ + ID: session.ID(), + MemberProfile: &profile, + }) + } - utils.HttpSuccess(w) + utils.HttpSuccess(w, members) }