package services import ( "context" "fmt" "net/http" "edge-infra.dev/pkg/edge/api/bsl/types" "edge-infra.dev/pkg/edge/api/graph/model" "edge-infra.dev/pkg/edge/bsl" ) func GetGroupsForUser(_ context.Context, client *bsl.Request, username string) ([]string, error) { resp := &types.GroupDataResponse{} groups := make([]string, 0) err := client.JSON(http.MethodGet, fmt.Sprintf(getUsersGroups, username), resp) if err != nil { return groups, err } for _, value := range resp.Memberships { groupName := value["groupName"] if model.Role(groupName).IsValid() { groups = append(groups, groupName) } } return groups, nil }