@@ -167,186 +167,39 @@ func (w *Webhook) UpdateEvent() error {
167
167
return err
168
168
}
169
169
170
- // HasCreateEvent returns true if hook enabled create event.
171
- func (w * Webhook ) HasCreateEvent () bool {
172
- return w .SendEverything ||
173
- (w .ChooseEvents && w .HookEvents .Create )
174
- }
175
-
176
- // HasDeleteEvent returns true if hook enabled delete event.
177
- func (w * Webhook ) HasDeleteEvent () bool {
178
- return w .SendEverything ||
179
- (w .ChooseEvents && w .HookEvents .Delete )
180
- }
181
-
182
- // HasForkEvent returns true if hook enabled fork event.
183
- func (w * Webhook ) HasForkEvent () bool {
184
- return w .SendEverything ||
185
- (w .ChooseEvents && w .HookEvents .Fork )
186
- }
187
-
188
- // HasIssuesEvent returns true if hook enabled issues event.
189
- func (w * Webhook ) HasIssuesEvent () bool {
190
- return w .SendEverything ||
191
- (w .ChooseEvents && w .HookEvents .Issues )
192
- }
193
-
194
- // HasIssuesAssignEvent returns true if hook enabled issues assign event.
195
- func (w * Webhook ) HasIssuesAssignEvent () bool {
196
- return w .SendEverything ||
197
- (w .ChooseEvents && w .HookEvents .IssueAssign )
198
- }
199
-
200
- // HasIssuesLabelEvent returns true if hook enabled issues label event.
201
- func (w * Webhook ) HasIssuesLabelEvent () bool {
202
- return w .SendEverything ||
203
- (w .ChooseEvents && w .HookEvents .IssueLabel )
204
- }
205
-
206
- // HasIssuesMilestoneEvent returns true if hook enabled issues milestone event.
207
- func (w * Webhook ) HasIssuesMilestoneEvent () bool {
208
- return w .SendEverything ||
209
- (w .ChooseEvents && w .HookEvents .IssueMilestone )
210
- }
211
-
212
- // HasIssueCommentEvent returns true if hook enabled issue_comment event.
213
- func (w * Webhook ) HasIssueCommentEvent () bool {
214
- return w .SendEverything ||
215
- (w .ChooseEvents && w .HookEvents .IssueComment )
216
- }
217
-
218
- // HasPushEvent returns true if hook enabled push event.
219
- func (w * Webhook ) HasPushEvent () bool {
220
- return w .PushOnly || w .SendEverything ||
221
- (w .ChooseEvents && w .HookEvents .Push )
222
- }
223
-
224
- // HasPullRequestEvent returns true if hook enabled pull request event.
225
- func (w * Webhook ) HasPullRequestEvent () bool {
226
- return w .SendEverything ||
227
- (w .ChooseEvents && w .HookEvents .PullRequest )
228
- }
229
-
230
- // HasPullRequestAssignEvent returns true if hook enabled pull request assign event.
231
- func (w * Webhook ) HasPullRequestAssignEvent () bool {
232
- return w .SendEverything ||
233
- (w .ChooseEvents && w .HookEvents .PullRequestAssign )
234
- }
235
-
236
- // HasPullRequestLabelEvent returns true if hook enabled pull request label event.
237
- func (w * Webhook ) HasPullRequestLabelEvent () bool {
238
- return w .SendEverything ||
239
- (w .ChooseEvents && w .HookEvents .PullRequestLabel )
240
- }
241
-
242
- // HasPullRequestMilestoneEvent returns true if hook enabled pull request milestone event.
243
- func (w * Webhook ) HasPullRequestMilestoneEvent () bool {
244
- return w .SendEverything ||
245
- (w .ChooseEvents && w .HookEvents .PullRequestMilestone )
246
- }
247
-
248
- // HasPullRequestCommentEvent returns true if hook enabled pull_request_comment event.
249
- func (w * Webhook ) HasPullRequestCommentEvent () bool {
250
- return w .SendEverything ||
251
- (w .ChooseEvents && w .HookEvents .PullRequestComment )
252
- }
253
-
254
- // HasPullRequestApprovedEvent returns true if hook enabled pull request review event.
255
- func (w * Webhook ) HasPullRequestApprovedEvent () bool {
256
- return w .SendEverything ||
257
- (w .ChooseEvents && w .HookEvents .PullRequestReview )
258
- }
259
-
260
- // HasPullRequestRejectedEvent returns true if hook enabled pull request review event.
261
- func (w * Webhook ) HasPullRequestRejectedEvent () bool {
262
- return w .SendEverything ||
263
- (w .ChooseEvents && w .HookEvents .PullRequestReview )
264
- }
265
-
266
- // HasPullRequestReviewCommentEvent returns true if hook enabled pull request review event.
267
- func (w * Webhook ) HasPullRequestReviewCommentEvent () bool {
268
- return w .SendEverything ||
269
- (w .ChooseEvents && w .HookEvents .PullRequestReview )
270
- }
271
-
272
- // HasPullRequestSyncEvent returns true if hook enabled pull request sync event.
273
- func (w * Webhook ) HasPullRequestSyncEvent () bool {
274
- return w .SendEverything ||
275
- (w .ChooseEvents && w .HookEvents .PullRequestSync )
276
- }
277
-
278
- // HasWikiEvent returns true if hook enabled wiki event.
279
- func (w * Webhook ) HasWikiEvent () bool {
280
- return w .SendEverything ||
281
- (w .ChooseEvents && w .HookEvent .Wiki )
282
- }
283
-
284
- // HasReleaseEvent returns if hook enabled release event.
285
- func (w * Webhook ) HasReleaseEvent () bool {
286
- return w .SendEverything ||
287
- (w .ChooseEvents && w .HookEvents .Release )
288
- }
289
-
290
- // HasRepositoryEvent returns if hook enabled repository event.
291
- func (w * Webhook ) HasRepositoryEvent () bool {
292
- return w .SendEverything ||
293
- (w .ChooseEvents && w .HookEvents .Repository )
294
- }
295
-
296
- // HasPackageEvent returns if hook enabled package event.
297
- func (w * Webhook ) HasPackageEvent () bool {
298
- return w .SendEverything ||
299
- (w .ChooseEvents && w .HookEvents .Package )
300
- }
301
-
302
- // HasPullRequestReviewRequestEvent returns true if hook enabled pull request review request event.
303
- func (w * Webhook ) HasPullRequestReviewRequestEvent () bool {
304
- return w .SendEverything ||
305
- (w .ChooseEvents && w .HookEvents .PullRequestReviewRequest )
306
- }
307
-
308
- // EventCheckers returns event checkers
309
- func (w * Webhook ) EventCheckers () []struct {
310
- Has func () bool
311
- Type webhook_module.HookEventType
312
- } {
313
- return []struct {
314
- Has func () bool
315
- Type webhook_module.HookEventType
316
- }{
317
- {w .HasCreateEvent , webhook_module .HookEventCreate },
318
- {w .HasDeleteEvent , webhook_module .HookEventDelete },
319
- {w .HasForkEvent , webhook_module .HookEventFork },
320
- {w .HasPushEvent , webhook_module .HookEventPush },
321
- {w .HasIssuesEvent , webhook_module .HookEventIssues },
322
- {w .HasIssuesAssignEvent , webhook_module .HookEventIssueAssign },
323
- {w .HasIssuesLabelEvent , webhook_module .HookEventIssueLabel },
324
- {w .HasIssuesMilestoneEvent , webhook_module .HookEventIssueMilestone },
325
- {w .HasIssueCommentEvent , webhook_module .HookEventIssueComment },
326
- {w .HasPullRequestEvent , webhook_module .HookEventPullRequest },
327
- {w .HasPullRequestAssignEvent , webhook_module .HookEventPullRequestAssign },
328
- {w .HasPullRequestLabelEvent , webhook_module .HookEventPullRequestLabel },
329
- {w .HasPullRequestMilestoneEvent , webhook_module .HookEventPullRequestMilestone },
330
- {w .HasPullRequestCommentEvent , webhook_module .HookEventPullRequestComment },
331
- {w .HasPullRequestApprovedEvent , webhook_module .HookEventPullRequestReviewApproved },
332
- {w .HasPullRequestRejectedEvent , webhook_module .HookEventPullRequestReviewRejected },
333
- {w .HasPullRequestCommentEvent , webhook_module .HookEventPullRequestReviewComment },
334
- {w .HasPullRequestSyncEvent , webhook_module .HookEventPullRequestSync },
335
- {w .HasWikiEvent , webhook_module .HookEventWiki },
336
- {w .HasRepositoryEvent , webhook_module .HookEventRepository },
337
- {w .HasReleaseEvent , webhook_module .HookEventRelease },
338
- {w .HasPackageEvent , webhook_module .HookEventPackage },
339
- {w .HasPullRequestReviewRequestEvent , webhook_module .HookEventPullRequestReviewRequest },
170
+ func (w * Webhook ) HasEvent (evt webhook_module.HookEventType ) bool {
171
+ if w .SendEverything {
172
+ return true
340
173
}
174
+ if w .PushOnly {
175
+ return evt == webhook_module .HookEventPush
176
+ }
177
+ checkEvt := evt
178
+ switch evt {
179
+ case webhook_module .HookEventPullRequestReviewApproved , webhook_module .HookEventPullRequestReviewRejected , webhook_module .HookEventPullRequestReviewComment :
180
+ checkEvt = webhook_module .HookEventPullRequestReview
181
+ }
182
+ return w .HookEvents [checkEvt ]
341
183
}
342
184
343
185
// EventsArray returns an array of hook events
344
186
func (w * Webhook ) EventsArray () []string {
345
- events := make ([]string , 0 , 7 )
187
+ if w .SendEverything {
188
+ events := make ([]string , 0 , len (webhook_module .AllEvents ()))
189
+ for _ , evt := range webhook_module .AllEvents () {
190
+ events = append (events , string (evt ))
191
+ }
192
+ return events
193
+ }
194
+
195
+ if w .PushOnly {
196
+ return []string {string (webhook_module .HookEventPush )}
197
+ }
346
198
347
- for _ , c := range w .EventCheckers () {
348
- if c .Has () {
349
- events = append (events , string (c .Type ))
199
+ events := make ([]string , 0 , len (w .HookEvents ))
200
+ for event , enabled := range w .HookEvents {
201
+ if enabled {
202
+ events = append (events , string (event ))
350
203
}
351
204
}
352
205
return events
0 commit comments