From 2b03d24358aeac14ba7c8c63e35012d6e91c1509 Mon Sep 17 00:00:00 2001 From: alexkursell Date: Thu, 3 Dec 2020 06:01:49 -0500 Subject: Fix /joined_members API response (#1606) * Fix /joined_members API response * Fix golint issue --- clientapi/routing/memberships.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'clientapi') diff --git a/clientapi/routing/memberships.go b/clientapi/routing/memberships.go index 457f81cb..513fcefd 100644 --- a/clientapi/routing/memberships.go +++ b/clientapi/routing/memberships.go @@ -44,6 +44,13 @@ type joinedMember struct { AvatarURL string `json:"avatar_url"` } +// The database stores 'displayname' without an underscore. +// Deserialize into this and then change to the actual API response +type databaseJoinedMember struct { + DisplayName string `json:"displayname"` + AvatarURL string `json:"avatar_url"` +} + // GetMemberships implements GET /rooms/{roomId}/members func GetMemberships( req *http.Request, device *userapi.Device, roomID string, joinedOnly bool, @@ -72,12 +79,12 @@ func GetMemberships( var res getJoinedMembersResponse res.Joined = make(map[string]joinedMember) for _, ev := range queryRes.JoinEvents { - var content joinedMember + var content databaseJoinedMember if err := json.Unmarshal(ev.Content, &content); err != nil { util.GetLogger(req.Context()).WithError(err).Error("failed to unmarshal event content") return jsonerror.InternalServerError() } - res.Joined[ev.Sender] = content + res.Joined[ev.Sender] = joinedMember(content) } return util.JSONResponse{ Code: http.StatusOK, -- cgit v1.2.3