From 94e50c30e3a8309dcd240dd1dd1b3cd3cb0b426a Mon Sep 17 00:00:00 2001 From: Ashish Bhate Date: Wed, 19 Aug 2020 10:32:53 +0000 Subject: [PATCH] [MM-27367] fix ldap group decoding in client (#15192) Summary The data returned by the get ldap groups api endpoint was being decoded incorrectly in the Go client. Ticket Link https://mattermost.atlassian.net/browse/MM-27367 --- model/client4.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/model/client4.go b/model/client4.go index 294478091d..b7851bceca 100644 --- a/model/client4.go +++ b/model/client4.go @@ -3875,7 +3875,19 @@ func (c *Client4) GetLdapGroups() ([]*Group, *Response) { } defer closeBody(r) - return GroupsFromJson(r.Body), BuildResponse(r) + responseData := struct { + Count int `json:"count"` + Groups []*Group `json:"groups"` + }{} + if err := json.NewDecoder(r.Body).Decode(&responseData); err != nil { + appErr := NewAppError("Api4.GetLdapGroups", "api.marshal_error", nil, err.Error(), http.StatusInternalServerError) + return nil, BuildErrorResponse(r, appErr) + } + for i := range responseData.Groups { + responseData.Groups[i].DisplayName = *responseData.Groups[i].Name + } + + return responseData.Groups, BuildResponse(r) } // LinkLdapGroup creates or undeletes a Mattermost group and associates it to the given LDAP group DN.