func()

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))
}