code.gitea.io/gitea@v1.21.7/routers/web/shared/secrets/secrets.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package secrets 5 6 import ( 7 secret_model "code.gitea.io/gitea/models/secret" 8 "code.gitea.io/gitea/modules/context" 9 "code.gitea.io/gitea/modules/log" 10 "code.gitea.io/gitea/modules/web" 11 "code.gitea.io/gitea/routers/web/shared/actions" 12 "code.gitea.io/gitea/services/forms" 13 secret_service "code.gitea.io/gitea/services/secrets" 14 ) 15 16 func SetSecretsContext(ctx *context.Context, ownerID, repoID int64) { 17 secrets, err := secret_model.FindSecrets(ctx, secret_model.FindSecretsOptions{OwnerID: ownerID, RepoID: repoID}) 18 if err != nil { 19 ctx.ServerError("FindSecrets", err) 20 return 21 } 22 23 ctx.Data["Secrets"] = secrets 24 } 25 26 func PerformSecretsPost(ctx *context.Context, ownerID, repoID int64, redirectURL string) { 27 form := web.GetForm(ctx).(*forms.AddSecretForm) 28 29 s, _, err := secret_service.CreateOrUpdateSecret(ctx, ownerID, repoID, form.Name, actions.ReserveLineBreakForTextarea(form.Data)) 30 if err != nil { 31 log.Error("CreateOrUpdateSecret failed: %v", err) 32 ctx.JSONError(ctx.Tr("secrets.creation.failed")) 33 return 34 } 35 36 ctx.Flash.Success(ctx.Tr("secrets.creation.success", s.Name)) 37 ctx.JSONRedirect(redirectURL) 38 } 39 40 func PerformSecretsDelete(ctx *context.Context, ownerID, repoID int64, redirectURL string) { 41 id := ctx.FormInt64("id") 42 43 err := secret_service.DeleteSecretByID(ctx, ownerID, repoID, id) 44 if err != nil { 45 log.Error("DeleteSecretByID(%d) failed: %v", id, err) 46 ctx.JSONError(ctx.Tr("secrets.deletion.failed")) 47 return 48 } 49 50 ctx.Flash.Success(ctx.Tr("secrets.deletion.success")) 51 ctx.JSONRedirect(redirectURL) 52 }