diff --git a/models/webhook/hooktask.go b/models/webhook/hooktask.go index ccce1447bcf..8688fe5de36 100644 --- a/models/webhook/hooktask.go +++ b/models/webhook/hooktask.go @@ -24,69 +24,6 @@ import ( // \___|_ / \____/ \____/|__|_ \ |____| (____ /____ >__|_ \ // \/ \/ \/ \/ \/ -// HookEventType is the type of an hook event -type HookEventType string - -// Types of hook events -const ( - HookEventCreate HookEventType = "create" - HookEventDelete HookEventType = "delete" - HookEventFork HookEventType = "fork" - HookEventPush HookEventType = "push" - HookEventIssues HookEventType = "issues" - HookEventIssueAssign HookEventType = "issue_assign" - HookEventIssueLabel HookEventType = "issue_label" - HookEventIssueMilestone HookEventType = "issue_milestone" - HookEventIssueComment HookEventType = "issue_comment" - HookEventPullRequest HookEventType = "pull_request" - HookEventPullRequestAssign HookEventType = "pull_request_assign" - HookEventPullRequestLabel HookEventType = "pull_request_label" - HookEventPullRequestMilestone HookEventType = "pull_request_milestone" - HookEventPullRequestComment HookEventType = "pull_request_comment" - HookEventPullRequestReviewApproved HookEventType = "pull_request_review_approved" - HookEventPullRequestReviewRejected HookEventType = "pull_request_review_rejected" - HookEventPullRequestReviewComment HookEventType = "pull_request_review_comment" - HookEventPullRequestSync HookEventType = "pull_request_sync" - HookEventWiki HookEventType = "wiki" - HookEventRepository HookEventType = "repository" - HookEventRelease HookEventType = "release" - HookEventPackage HookEventType = "package" -) - -// Event returns the HookEventType as an event string -func (h HookEventType) Event() string { - switch h { - case HookEventCreate: - return "create" - case HookEventDelete: - return "delete" - case HookEventFork: - return "fork" - case HookEventPush: - return "push" - case HookEventIssues, HookEventIssueAssign, HookEventIssueLabel, HookEventIssueMilestone: - return "issues" - case HookEventPullRequest, HookEventPullRequestAssign, HookEventPullRequestLabel, HookEventPullRequestMilestone, - HookEventPullRequestSync: - return "pull_request" - case HookEventIssueComment, HookEventPullRequestComment: - return "issue_comment" - case HookEventPullRequestReviewApproved: - return "pull_request_approved" - case HookEventPullRequestReviewRejected: - return "pull_request_rejected" - case HookEventPullRequestReviewComment: - return "pull_request_comment" - case HookEventWiki: - return "wiki" - case HookEventRepository: - return "repository" - case HookEventRelease: - return "release" - } - return "" -} - // HookRequest represents hook task request information. type HookRequest struct { URL string `json:"url"` diff --git a/routers/api/v1/utils/hook.go b/routers/api/v1/utils/hook.go index fc202f51cfe..065b761adb3 100644 --- a/routers/api/v1/utils/hook.go +++ b/routers/api/v1/utils/hook.go @@ -107,11 +107,11 @@ func toAPIHook(ctx *context.APIContext, repoLink string, hook *webhook.Webhook) } func issuesHook(events []string, event string) bool { - return util.IsStringInSlice(event, events, true) || util.IsStringInSlice(string(webhook.HookEventIssues), events, true) + return util.IsStringInSlice(event, events, true) || util.IsStringInSlice(string(webhook_module.HookEventIssues), events, true) } func pullHook(events []string, event string) bool { - return util.IsStringInSlice(event, events, true) || util.IsStringInSlice(string(webhook.HookEventPullRequest), events, true) + return util.IsStringInSlice(event, events, true) || util.IsStringInSlice(string(webhook_module.HookEventPullRequest), events, true) } // addHook add the hook specified by `form`, `orgID` and `repoID`. If there is @@ -130,25 +130,25 @@ func addHook(ctx *context.APIContext, form *api.CreateHookOption, orgID, repoID HookEvent: &webhook_module.HookEvent{ ChooseEvents: true, HookEvents: webhook_module.HookEvents{ - Create: util.IsStringInSlice(string(webhook.HookEventCreate), form.Events, true), - Delete: util.IsStringInSlice(string(webhook.HookEventDelete), form.Events, true), - Fork: util.IsStringInSlice(string(webhook.HookEventFork), form.Events, true), + Create: util.IsStringInSlice(string(webhook_module.HookEventCreate), form.Events, true), + Delete: util.IsStringInSlice(string(webhook_module.HookEventDelete), form.Events, true), + Fork: util.IsStringInSlice(string(webhook_module.HookEventFork), form.Events, true), Issues: issuesHook(form.Events, "issues_only"), - IssueAssign: issuesHook(form.Events, string(webhook.HookEventIssueAssign)), - IssueLabel: issuesHook(form.Events, string(webhook.HookEventIssueLabel)), - IssueMilestone: issuesHook(form.Events, string(webhook.HookEventIssueMilestone)), - IssueComment: issuesHook(form.Events, string(webhook.HookEventIssueComment)), - Push: util.IsStringInSlice(string(webhook.HookEventPush), form.Events, true), + IssueAssign: issuesHook(form.Events, string(webhook_module.HookEventIssueAssign)), + IssueLabel: issuesHook(form.Events, string(webhook_module.HookEventIssueLabel)), + IssueMilestone: issuesHook(form.Events, string(webhook_module.HookEventIssueMilestone)), + IssueComment: issuesHook(form.Events, string(webhook_module.HookEventIssueComment)), + Push: util.IsStringInSlice(string(webhook_module.HookEventPush), form.Events, true), PullRequest: pullHook(form.Events, "pull_request_only"), - PullRequestAssign: pullHook(form.Events, string(webhook.HookEventPullRequestAssign)), - PullRequestLabel: pullHook(form.Events, string(webhook.HookEventPullRequestLabel)), - PullRequestMilestone: pullHook(form.Events, string(webhook.HookEventPullRequestMilestone)), - PullRequestComment: pullHook(form.Events, string(webhook.HookEventPullRequestComment)), + PullRequestAssign: pullHook(form.Events, string(webhook_module.HookEventPullRequestAssign)), + PullRequestLabel: pullHook(form.Events, string(webhook_module.HookEventPullRequestLabel)), + PullRequestMilestone: pullHook(form.Events, string(webhook_module.HookEventPullRequestMilestone)), + PullRequestComment: pullHook(form.Events, string(webhook_module.HookEventPullRequestComment)), PullRequestReview: pullHook(form.Events, "pull_request_review"), - PullRequestSync: pullHook(form.Events, string(webhook.HookEventPullRequestSync)), - Wiki: util.IsStringInSlice(string(webhook.HookEventWiki), form.Events, true), - Repository: util.IsStringInSlice(string(webhook.HookEventRepository), form.Events, true), - Release: util.IsStringInSlice(string(webhook.HookEventRelease), form.Events, true), + PullRequestSync: pullHook(form.Events, string(webhook_module.HookEventPullRequestSync)), + Wiki: util.IsStringInSlice(string(webhook_module.HookEventWiki), form.Events, true), + Repository: util.IsStringInSlice(string(webhook_module.HookEventRepository), form.Events, true), + Release: util.IsStringInSlice(string(webhook_module.HookEventRelease), form.Events, true), }, BranchFilter: form.BranchFilter, }, @@ -277,14 +277,14 @@ func editHook(ctx *context.APIContext, form *api.EditHookOption, w *webhook.Webh w.PushOnly = false w.SendEverything = false w.ChooseEvents = true - w.Create = util.IsStringInSlice(string(webhook.HookEventCreate), form.Events, true) - w.Push = util.IsStringInSlice(string(webhook.HookEventPush), form.Events, true) - w.Create = util.IsStringInSlice(string(webhook.HookEventCreate), form.Events, true) - w.Delete = util.IsStringInSlice(string(webhook.HookEventDelete), form.Events, true) - w.Fork = util.IsStringInSlice(string(webhook.HookEventFork), form.Events, true) - w.Repository = util.IsStringInSlice(string(webhook.HookEventRepository), form.Events, true) - w.Wiki = util.IsStringInSlice(string(webhook.HookEventWiki), form.Events, true) - w.Release = util.IsStringInSlice(string(webhook.HookEventRelease), form.Events, true) + w.Create = util.IsStringInSlice(string(webhook_module.HookEventCreate), form.Events, true) + w.Push = util.IsStringInSlice(string(webhook_module.HookEventPush), form.Events, true) + w.Create = util.IsStringInSlice(string(webhook_module.HookEventCreate), form.Events, true) + w.Delete = util.IsStringInSlice(string(webhook_module.HookEventDelete), form.Events, true) + w.Fork = util.IsStringInSlice(string(webhook_module.HookEventFork), form.Events, true) + w.Repository = util.IsStringInSlice(string(webhook_module.HookEventRepository), form.Events, true) + w.Wiki = util.IsStringInSlice(string(webhook_module.HookEventWiki), form.Events, true) + w.Release = util.IsStringInSlice(string(webhook_module.HookEventRelease), form.Events, true) w.BranchFilter = form.BranchFilter err := w.SetHeaderAuthorization(form.AuthorizationHeader) @@ -295,19 +295,19 @@ func editHook(ctx *context.APIContext, form *api.EditHookOption, w *webhook.Webh // Issues w.Issues = issuesHook(form.Events, "issues_only") - w.IssueAssign = issuesHook(form.Events, string(webhook.HookEventIssueAssign)) - w.IssueLabel = issuesHook(form.Events, string(webhook.HookEventIssueLabel)) - w.IssueMilestone = issuesHook(form.Events, string(webhook.HookEventIssueMilestone)) - w.IssueComment = issuesHook(form.Events, string(webhook.HookEventIssueComment)) + w.IssueAssign = issuesHook(form.Events, string(webhook_module.HookEventIssueAssign)) + w.IssueLabel = issuesHook(form.Events, string(webhook_module.HookEventIssueLabel)) + w.IssueMilestone = issuesHook(form.Events, string(webhook_module.HookEventIssueMilestone)) + w.IssueComment = issuesHook(form.Events, string(webhook_module.HookEventIssueComment)) // Pull requests w.PullRequest = pullHook(form.Events, "pull_request_only") - w.PullRequestAssign = pullHook(form.Events, string(webhook.HookEventPullRequestAssign)) - w.PullRequestLabel = pullHook(form.Events, string(webhook.HookEventPullRequestLabel)) - w.PullRequestMilestone = pullHook(form.Events, string(webhook.HookEventPullRequestMilestone)) - w.PullRequestComment = pullHook(form.Events, string(webhook.HookEventPullRequestComment)) + w.PullRequestAssign = pullHook(form.Events, string(webhook_module.HookEventPullRequestAssign)) + w.PullRequestLabel = pullHook(form.Events, string(webhook_module.HookEventPullRequestLabel)) + w.PullRequestMilestone = pullHook(form.Events, string(webhook_module.HookEventPullRequestMilestone)) + w.PullRequestComment = pullHook(form.Events, string(webhook_module.HookEventPullRequestComment)) w.PullRequestReview = pullHook(form.Events, "pull_request_review") - w.PullRequestSync = pullHook(form.Events, string(webhook.HookEventPullRequestSync)) + w.PullRequestSync = pullHook(form.Events, string(webhook_module.HookEventPullRequestSync)) if err := w.UpdateEvent(); err != nil { ctx.Error(http.StatusInternalServerError, "UpdateEvent", err)