From 5b55fd0d36bfc70bfb9eb1736f10ab8815116f8a Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 14 Oct 2022 01:08:22 +0800 Subject: [PATCH] org secrets --- routers/web/org/setting.go | 35 +++++++++++++++++++++++++++++ routers/web/web.go | 2 ++ templates/org/settings/secrets.tmpl | 2 +- 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/routers/web/org/setting.go b/routers/web/org/setting.go index b64fe0e69f..fe4df094f4 100644 --- a/routers/web/org/setting.go +++ b/routers/web/org/setting.go @@ -26,6 +26,7 @@ import ( "code.gitea.io/gitea/services/org" container_service "code.gitea.io/gitea/services/packages/container" repo_service "code.gitea.io/gitea/services/repository" + secret_service "code.gitea.io/gitea/services/secrets" user_service "code.gitea.io/gitea/services/user" ) @@ -258,5 +259,39 @@ func Secrets(ctx *context.Context) { ctx.Data["PageIsOrgSettings"] = true ctx.Data["PageIsOrgSettingsSecrets"] = true ctx.Data["RequireTribute"] = true + + secrets, err := secret_service.FindUserSecrets(ctx, ctx.Org.Organization.ID) + if err != nil { + ctx.ServerError("FindRepoSecrets", err) + return + } + ctx.Data["Secrets"] = secrets + ctx.HTML(http.StatusOK, tplSettingsSecrets) } + +// SecretsPost add secrets +func SecretsPost(ctx *context.Context) { + form := web.GetForm(ctx).(*forms.AddSecretForm) + if err := secret_service.InsertOrgSecret(ctx, ctx.Org.Organization.ID, form.Title, form.Content, form.PullRequestRead); err != nil { + ctx.ServerError("InsertRepoSecret", err) + return + } + + log.Trace("Secret added: %d", ctx.Org.Organization.ID) + ctx.Flash.Success(ctx.Tr("repo.settings.add_key_success", form.Title)) + ctx.Redirect(ctx.Org.OrgLink + "/settings/secrets") +} + +// SecretsDelete delete secrets +func SecretsDelete(ctx *context.Context) { + if err := secret_service.DeleteSecretByID(ctx, ctx.ParamsInt64("id")); err != nil { + ctx.Flash.Error("DeleteSecretByID: " + err.Error()) + } else { + ctx.Flash.Success(ctx.Tr("repo.settings.deploy_key_deletion_success")) + } + + ctx.JSON(http.StatusOK, map[string]interface{}{ + "redirect": ctx.Org.OrgLink + "/settings/secrets", + }) +} diff --git a/routers/web/web.go b/routers/web/web.go index c0eb5f05b2..d0ac2fe5d2 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -793,6 +793,8 @@ func RegisterRoutes(m *web.Route) { m.Group("/secrets", func() { m.Get("", org.Secrets) + m.Post("", bindIgnErr(forms.AddSecretForm{}), org.SecretsPost) + m.Post("/delete", org.SecretsDelete) }) m.Group("/runners", func() { diff --git a/templates/org/settings/secrets.tmpl b/templates/org/settings/secrets.tmpl index b59754063a..b44d82c115 100644 --- a/templates/org/settings/secrets.tmpl +++ b/templates/org/settings/secrets.tmpl @@ -49,7 +49,7 @@ {{range .Secrets}}
-