You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

admin_regenerate.go 997B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package cmd
  4. import (
  5. "code.gitea.io/gitea/modules/graceful"
  6. asymkey_service "code.gitea.io/gitea/services/asymkey"
  7. repo_service "code.gitea.io/gitea/services/repository"
  8. "github.com/urfave/cli/v2"
  9. )
  10. var (
  11. microcmdRegenHooks = &cli.Command{
  12. Name: "hooks",
  13. Usage: "Regenerate git-hooks",
  14. Action: runRegenerateHooks,
  15. }
  16. microcmdRegenKeys = &cli.Command{
  17. Name: "keys",
  18. Usage: "Regenerate authorized_keys file",
  19. Action: runRegenerateKeys,
  20. }
  21. )
  22. func runRegenerateHooks(_ *cli.Context) error {
  23. ctx, cancel := installSignals()
  24. defer cancel()
  25. if err := initDB(ctx); err != nil {
  26. return err
  27. }
  28. return repo_service.SyncRepositoryHooks(graceful.GetManager().ShutdownContext())
  29. }
  30. func runRegenerateKeys(_ *cli.Context) error {
  31. ctx, cancel := installSignals()
  32. defer cancel()
  33. if err := initDB(ctx); err != nil {
  34. return err
  35. }
  36. return asymkey_service.RewriteAllPublicKeys(ctx)
  37. }