|
@@ -4,6 +4,7 @@ import (
|
|
|
"context"
|
|
|
"encoding/base64"
|
|
|
"encoding/json"
|
|
|
+ "strings"
|
|
|
|
|
|
"github.com/gravitl/netmaker/logic"
|
|
|
"github.com/gravitl/netmaker/pro/idp"
|
|
@@ -67,6 +68,21 @@ func (g *Client) GetUsers(filters []string) ([]idp.User, error) {
|
|
|
Fields("users(id,primaryEmail,name,suspended,archived)", "nextPageToken").
|
|
|
Pages(context.TODO(), func(users *admindir.Users) error {
|
|
|
for _, user := range users.Users {
|
|
|
+ var keep bool
|
|
|
+ if len(filters) > 0 {
|
|
|
+ for _, filter := range filters {
|
|
|
+ if strings.HasPrefix(user.PrimaryEmail, filter) {
|
|
|
+ keep = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ keep = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if !keep {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
retval = append(retval, idp.User{
|
|
|
ID: user.Id,
|
|
|
Username: user.PrimaryEmail,
|
|
@@ -89,6 +105,21 @@ func (g *Client) GetGroups(filters []string) ([]idp.Group, error) {
|
|
|
Fields("groups(id,name)", "nextPageToken").
|
|
|
Pages(context.TODO(), func(groups *admindir.Groups) error {
|
|
|
for _, group := range groups.Groups {
|
|
|
+ var keep bool
|
|
|
+ if len(filters) > 0 {
|
|
|
+ for _, filter := range filters {
|
|
|
+ if strings.HasPrefix(group.Name, filter) {
|
|
|
+ keep = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ keep = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if !keep {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
var retvalMembers []string
|
|
|
err := g.service.Members.List(group.Id).
|
|
|
Fields("members(id)", "nextPageToken").
|