@@ -11,6 +11,12 @@ import (
11
11
type User struct {
12
12
ID int `json:"id"`
13
13
Email string `json:"email"`
14
+ // only the first permission is filled id, it is a list with 1 element
15
+ Permissions []struct {
16
+ Groups []struct {
17
+ ID int `json:"id"`
18
+ } `json:"groups"`
19
+ } `json:"permissions"`
14
20
}
15
21
16
22
type UserListResponse struct {
@@ -28,8 +34,12 @@ type CurrentUserResponse struct {
28
34
Status ResponseStatus `json:"status"`
29
35
}
30
36
31
- func (c * Client ) GetUser (email string ) (* User , error ) {
32
- req , err := http .NewRequest ("GET" , fmt .Sprintf ("%s/v2/accounts/%s/users/" , c .HostURL , strconv .Itoa (c .AccountID )), nil )
37
+ func (c * Client ) GetUsers () ([]User , error ) {
38
+ req , err := http .NewRequest (
39
+ "GET" ,
40
+ fmt .Sprintf ("%s/v2/accounts/%s/users/" , c .HostURL , strconv .Itoa (c .AccountID )),
41
+ nil ,
42
+ )
33
43
if err != nil {
34
44
return nil , err
35
45
}
@@ -52,7 +62,16 @@ func (c *Client) GetUser(email string) (*User, error) {
52
62
numUsers := userListResponse .Extra .Pagination .Count
53
63
for numUsers < userListResponse .Extra .Pagination .TotalCount {
54
64
55
- req , err := http .NewRequest ("GET" , fmt .Sprintf ("%s/v2/accounts/%s/users/?offset=%d" , c .HostURL , strconv .Itoa (c .AccountID ), numUsers ), nil )
65
+ req , err := http .NewRequest (
66
+ "GET" ,
67
+ fmt .Sprintf (
68
+ "%s/v2/accounts/%s/users/?offset=%d" ,
69
+ c .HostURL ,
70
+ strconv .Itoa (c .AccountID ),
71
+ numUsers ,
72
+ ),
73
+ nil ,
74
+ )
56
75
if err != nil {
57
76
return nil , err
58
77
}
@@ -81,6 +100,16 @@ func (c *Client) GetUser(email string) (*User, error) {
81
100
}
82
101
}
83
102
103
+ return listAllUsers , nil
104
+ }
105
+
106
+ func (c * Client ) GetUser (email string ) (* User , error ) {
107
+
108
+ listAllUsers , err := c .GetUsers ()
109
+ if err != nil {
110
+ return nil , err
111
+ }
112
+
84
113
for i , user := range listAllUsers {
85
114
if strings .EqualFold (user .Email , email ) {
86
115
return & listAllUsers [i ], nil
0 commit comments