...
1 package services
2
3 import (
4 "context"
5 "fmt"
6 "net/http"
7
8 "edge-infra.dev/pkg/edge/api/bsl/types"
9 "edge-infra.dev/pkg/edge/api/graph/model"
10 "edge-infra.dev/pkg/edge/bsl"
11 )
12
13 func GetGroupsForUser(_ context.Context, client *bsl.Request, username string) ([]string, error) {
14 resp := &types.GroupDataResponse{}
15 groups := make([]string, 0)
16 err := client.JSON(http.MethodGet, fmt.Sprintf(getUsersGroups, username), resp)
17 if err != nil {
18 return groups, err
19 }
20 for _, value := range resp.Memberships {
21 groupName := value["groupName"]
22 if model.Role(groupName).IsValid() {
23 groups = append(groups, groupName)
24 }
25 }
26 return groups, nil
27 }
28
View as plain text