in pkg/client/sonar/permission_template.go [203:224]
func (sc *Client) GetUserPermissions(ctx context.Context, userLogin string) ([]string, error) {
response := getUserPermissionResponse{}
rsp, err := sc.startRequest(ctx).
SetResult(&response).
SetQueryParams(map[string]string{
"q": userLogin,
"ps": "100",
}).
Get("/permissions/users")
if err = sc.checkError(rsp, err); err != nil {
return nil, fmt.Errorf("failed to get user %s permission: %w", userLogin, err)
}
for _, u := range response.Users {
if u.Login == userLogin {
return u.Permissions, nil
}
}
return nil, NewHTTPError(http.StatusNotFound, fmt.Sprintf("user %s not found", userLogin))
}