4
4
"context"
5
5
"encoding/base64"
6
6
"encoding/json"
7
+ "strings"
7
8
8
9
"github.com/gravitl/netmaker/logic"
9
10
"github.com/gravitl/netmaker/pro/idp"
@@ -67,6 +68,21 @@ func (g *Client) GetUsers(filters []string) ([]idp.User, error) {
67
68
Fields ("users(id,primaryEmail,name,suspended,archived)" , "nextPageToken" ).
68
69
Pages (context .TODO (), func (users * admindir.Users ) error {
69
70
for _ , user := range users .Users {
71
+ var keep bool
72
+ if len (filters ) > 0 {
73
+ for _ , filter := range filters {
74
+ if strings .HasPrefix (user .PrimaryEmail , filter ) {
75
+ keep = true
76
+ }
77
+ }
78
+ } else {
79
+ keep = true
80
+ }
81
+
82
+ if ! keep {
83
+ continue
84
+ }
85
+
70
86
retval = append (retval , idp.User {
71
87
ID : user .Id ,
72
88
Username : user .PrimaryEmail ,
@@ -89,6 +105,21 @@ func (g *Client) GetGroups(filters []string) ([]idp.Group, error) {
89
105
Fields ("groups(id,name)" , "nextPageToken" ).
90
106
Pages (context .TODO (), func (groups * admindir.Groups ) error {
91
107
for _ , group := range groups .Groups {
108
+ var keep bool
109
+ if len (filters ) > 0 {
110
+ for _ , filter := range filters {
111
+ if strings .HasPrefix (group .Name , filter ) {
112
+ keep = true
113
+ }
114
+ }
115
+ } else {
116
+ keep = true
117
+ }
118
+
119
+ if ! keep {
120
+ continue
121
+ }
122
+
92
123
var retvalMembers []string
93
124
err := g .service .Members .List (group .Id ).
94
125
Fields ("members(id)" , "nextPageToken" ).
0 commit comments