org secrets

This commit is contained in:
Lunny Xiao 2022-10-14 01:08:22 +08:00 committed by Jason Song
parent 8dc263c6ed
commit 5b55fd0d36
3 changed files with 38 additions and 1 deletions

View File

@ -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",
})
}

View File

@ -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() {

View File

@ -49,7 +49,7 @@
{{range .Secrets}}
<div class="item">
<div class="right floated content">
<button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete?act=secret" data-id="{{.ID}}">
<button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
{{$.locale.Tr "settings.delete_key"}}
</button>
</div>