@@ -8,14 +8,15 @@ import (
8
8
9
9
// Member is a sentry member
10
10
type Member struct {
11
- Email * string `json:"email,omitempty"`
11
+ Email string `json:"email,omitempty"`
12
12
Expired * bool `json:"expired,omitempty"`
13
13
Name * string `json:"name,omitempty"`
14
14
IsPending * bool `json:"isPending,omitempty"`
15
15
DateCreated * time.Time `json:"dateCreated,omitempty"`
16
- Role * string `json:"role,omitempty"`
16
+ Role string `json:"role,omitempty"`
17
17
ID * string `json:"id,omitempty"`
18
18
RoleName * string `json:"roleName,omitempty"`
19
+ Teams []string `json:"teams,omitempty"`
19
20
}
20
21
21
22
type memberQuery struct {
@@ -28,7 +29,20 @@ func (o *memberQuery) ToQueryString() string {
28
29
return query .Encode ()
29
30
}
30
31
31
- // GetMember takes a user email and returns back the user
32
+ // CreateMember takes an email and creates a new member
33
+ func (c * Client ) CreateMember (o Organization , email string ) (Member , error ) {
34
+ var member Member
35
+ memberRole := "member"
36
+ memberreq := Member {
37
+ Email : email ,
38
+ Role : memberRole ,
39
+ }
40
+
41
+ err := c .do ("POST" , fmt .Sprintf ("organizations/%s/members" , * o .Slug ), & member , & memberreq )
42
+ return member , err
43
+ }
44
+
45
+ // GetMemberByEmail takes a user email and returns back the user
32
46
func (c * Client ) GetMemberByEmail (o Organization , memberEmail string ) (Member , error ) {
33
47
var members []Member
34
48
@@ -44,15 +58,19 @@ func (c *Client) GetMemberByEmail(o Organization, memberEmail string) (Member, e
44
58
return members [0 ], err
45
59
}
46
60
47
- // AddMemberToTeam takes a member and adds them to a team
48
- func (c * Client ) AddMemberToTeam (o Organization , t Team , m Member ) error {
61
+ // AddExistingMemberToTeam takes a member and adds them to a team
62
+ func (c * Client ) AddExistingMemberToTeam (o Organization , t Team , m Member ) error {
49
63
return c .do ("POST" , fmt .Sprintf ("organizations/%s/members/%s/teams/%s" , * o .Slug , * m .ID , * t .Slug ), nil , nil )
50
64
}
51
65
66
+ // DeleteMember takes a member and deletes from the org
67
+ func (c * Client ) DeleteMember (o Organization , m Member ) error {
68
+ return c .do ("DELETE" , fmt .Sprintf ("organizations/%s/members/%s" , * o .Slug , * m .ID ), nil , nil )
69
+ }
70
+
52
71
// MakeAdmin takes a member and makes them admin
53
72
func (c * Client ) MakeAdmin (o Organization , a Member ) error {
54
- adminRole := "admin"
55
- a .Role = & adminRole
73
+ a .Role = "admin"
56
74
57
75
return c .do ("PUT" , fmt .Sprintf ("organizations/%s/members/%s" , * o .Slug , * a .ID ), nil , & a )
58
76
}
0 commit comments