@@ -53,7 +53,8 @@ func listMembers(ctx *context.APIContext, publicOnly bool) {
53
53
54
54
// ListMembers list an organization's members
55
55
func ListMembers (ctx * context.APIContext ) {
56
- listMembers (ctx , ! ctx .Org .Organization .IsOrgMember (ctx .User .ID ))
56
+ publicOnly := ctx .User == nil || ! ctx .Org .Organization .IsOrgMember (ctx .User .ID )
57
+ listMembers (ctx , publicOnly )
57
58
}
58
59
59
60
// ListPublicMembers list an organization's public members
@@ -63,27 +64,31 @@ func ListPublicMembers(ctx *context.APIContext) {
63
64
64
65
// IsMember check if a user is a member of an organization
65
66
func IsMember (ctx * context.APIContext ) {
66
- org := ctx .Org .Organization
67
- requester := ctx .User
68
67
userToCheck := user .GetUserByParams (ctx )
69
- if org .IsOrgMember (requester .ID ) {
70
- if org .IsOrgMember (userToCheck .ID ) {
68
+ if ctx .Written () {
69
+ return
70
+ }
71
+ if ctx .User != nil && ctx .Org .Organization .IsOrgMember (ctx .User .ID ) {
72
+ if ctx .Org .Organization .IsOrgMember (userToCheck .ID ) {
71
73
ctx .Status (204 )
72
74
} else {
73
75
ctx .Status (404 )
74
76
}
75
- } else if requester .ID == userToCheck .ID {
77
+ } else if ctx . User != nil && ctx . User .ID == userToCheck .ID {
76
78
ctx .Status (404 )
77
79
} else {
78
80
redirectURL := fmt .Sprintf ("%sapi/v1/orgs/%s/public_members/%s" ,
79
- setting .AppURL , org .Name , userToCheck .Name )
81
+ setting .AppURL , ctx . Org . Organization .Name , userToCheck .Name )
80
82
ctx .Redirect (redirectURL , 302 )
81
83
}
82
84
}
83
85
84
86
// IsPublicMember check if a user is a public member of an organization
85
87
func IsPublicMember (ctx * context.APIContext ) {
86
88
userToCheck := user .GetUserByParams (ctx )
89
+ if ctx .Written () {
90
+ return
91
+ }
87
92
if userToCheck .IsPublicMember (ctx .Org .Organization .ID ) {
88
93
ctx .Status (204 )
89
94
} else {
@@ -94,6 +99,9 @@ func IsPublicMember(ctx *context.APIContext) {
94
99
// PublicizeMember make a member's membership public
95
100
func PublicizeMember (ctx * context.APIContext ) {
96
101
userToPublicize := user .GetUserByParams (ctx )
102
+ if ctx .Written () {
103
+ return
104
+ }
97
105
if userToPublicize .ID != ctx .User .ID {
98
106
ctx .Error (403 , "" , "Cannot publicize another member" )
99
107
return
@@ -109,6 +117,9 @@ func PublicizeMember(ctx *context.APIContext) {
109
117
// ConcealMember make a member's membership not public
110
118
func ConcealMember (ctx * context.APIContext ) {
111
119
userToConceal := user .GetUserByParams (ctx )
120
+ if ctx .Written () {
121
+ return
122
+ }
112
123
if userToConceal .ID != ctx .User .ID {
113
124
ctx .Error (403 , "" , "Cannot conceal another member" )
114
125
return
@@ -123,9 +134,11 @@ func ConcealMember(ctx *context.APIContext) {
123
134
124
135
// DeleteMember remove a member from an organization
125
136
func DeleteMember (ctx * context.APIContext ) {
126
- org := ctx .Org .Organization
127
- memberID := user .GetUserByParams (ctx ).ID
128
- if err := org .RemoveMember (memberID ); err != nil {
137
+ member := user .GetUserByParams (ctx )
138
+ if ctx .Written () {
139
+ return
140
+ }
141
+ if err := ctx .Org .Organization .RemoveMember (member .ID ); err != nil {
129
142
ctx .Error (500 , "RemoveMember" , err )
130
143
}
131
144
ctx .Status (204 )
0 commit comments