@@ -167,186 +167,39 @@ func (w *Webhook) UpdateEvent() error {
167167 return err
168168}
169169
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
340173 }
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 ]
341183}
342184
343185// EventsArray returns an array of hook events
344186func (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+ }
346198
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 ))
350203 }
351204 }
352205 return events
0 commit comments