aboutsummaryrefslogtreecommitdiff
path: root/routers/api/v1/org/hook.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/api/v1/org/hook.go')
-rw-r--r--routers/api/v1/org/hook.go79
1 files changed, 23 insertions, 56 deletions
diff --git a/routers/api/v1/org/hook.go b/routers/api/v1/org/hook.go
index 4e435c959..a6ea618a7 100644
--- a/routers/api/v1/org/hook.go
+++ b/routers/api/v1/org/hook.go
@@ -6,7 +6,6 @@ package org
import (
"net/http"
- webhook_model "code.gitea.io/gitea/models/webhook"
"code.gitea.io/gitea/modules/context"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/web"
@@ -39,34 +38,10 @@ func ListHooks(ctx *context.APIContext) {
// "200":
// "$ref": "#/responses/HookList"
- opts := &webhook_model.ListWebhookOptions{
- ListOptions: utils.GetListOptions(ctx),
- OrgID: ctx.Org.Organization.ID,
- }
-
- count, err := webhook_model.CountWebhooksByOpts(opts)
- if err != nil {
- ctx.InternalServerError(err)
- return
- }
-
- orgHooks, err := webhook_model.ListWebhooksByOpts(ctx, opts)
- if err != nil {
- ctx.InternalServerError(err)
- return
- }
-
- hooks := make([]*api.Hook, len(orgHooks))
- for i, hook := range orgHooks {
- hooks[i], err = webhook_service.ToHook(ctx.Org.Organization.AsUser().HomeLink(), hook)
- if err != nil {
- ctx.InternalServerError(err)
- return
- }
- }
-
- ctx.SetTotalCountHeader(count)
- ctx.JSON(http.StatusOK, hooks)
+ utils.ListOwnerHooks(
+ ctx,
+ ctx.ContextUser,
+ )
}
// GetHook get an organization's hook by id
@@ -92,14 +67,12 @@ func GetHook(ctx *context.APIContext) {
// "200":
// "$ref": "#/responses/Hook"
- org := ctx.Org.Organization
- hookID := ctx.ParamsInt64(":id")
- hook, err := utils.GetOrgHook(ctx, org.ID, hookID)
+ hook, err := utils.GetOwnerHook(ctx, ctx.ContextUser.ID, ctx.ParamsInt64("id"))
if err != nil {
return
}
- apiHook, err := webhook_service.ToHook(org.AsUser().HomeLink(), hook)
+ apiHook, err := webhook_service.ToHook(ctx.ContextUser.HomeLink(), hook)
if err != nil {
ctx.InternalServerError(err)
return
@@ -131,15 +104,14 @@ func CreateHook(ctx *context.APIContext) {
// "201":
// "$ref": "#/responses/Hook"
- form := web.GetForm(ctx).(*api.CreateHookOption)
- // TODO in body params
- if !utils.CheckCreateHookOption(ctx, form) {
- return
- }
- utils.AddOrgHook(ctx, form)
+ utils.AddOwnerHook(
+ ctx,
+ ctx.ContextUser,
+ web.GetForm(ctx).(*api.CreateHookOption),
+ )
}
-// EditHook modify a hook of a repository
+// EditHook modify a hook of an organization
func EditHook(ctx *context.APIContext) {
// swagger:operation PATCH /orgs/{org}/hooks/{id} organization orgEditHook
// ---
@@ -168,11 +140,12 @@ func EditHook(ctx *context.APIContext) {
// "200":
// "$ref": "#/responses/Hook"
- form := web.GetForm(ctx).(*api.EditHookOption)
-
- // TODO in body params
- hookID := ctx.ParamsInt64(":id")
- utils.EditOrgHook(ctx, form, hookID)
+ utils.EditOwnerHook(
+ ctx,
+ ctx.ContextUser,
+ web.GetForm(ctx).(*api.EditHookOption),
+ ctx.ParamsInt64("id"),
+ )
}
// DeleteHook delete a hook of an organization
@@ -198,15 +171,9 @@ func DeleteHook(ctx *context.APIContext) {
// "204":
// "$ref": "#/responses/empty"
- org := ctx.Org.Organization
- hookID := ctx.ParamsInt64(":id")
- if err := webhook_model.DeleteWebhookByOrgID(org.ID, hookID); err != nil {
- if webhook_model.IsErrWebhookNotExist(err) {
- ctx.NotFound()
- } else {
- ctx.Error(http.StatusInternalServerError, "DeleteWebhookByOrgID", err)
- }
- return
- }
- ctx.Status(http.StatusNoContent)
+ utils.DeleteOwnerHook(
+ ctx,
+ ctx.ContextUser,
+ ctx.ParamsInt64("id"),
+ )
}