code.gitea.io/gitea@v1.22.3/cmd/admin_regenerate.go (about)

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