forked from Plemya-x/ALR
refactor
This commit is contained in:
44
fix.go
44
fix.go
@ -27,10 +27,8 @@ import (
|
||||
"github.com/leonelquinteros/gotext"
|
||||
"github.com/urfave/cli/v2"
|
||||
|
||||
"gitea.plemya-x.ru/Plemya-x/ALR/internal/config"
|
||||
database "gitea.plemya-x.ru/Plemya-x/ALR/internal/db"
|
||||
appbuilder "gitea.plemya-x.ru/Plemya-x/ALR/internal/cliutils/app_builder"
|
||||
"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils"
|
||||
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/repos"
|
||||
)
|
||||
|
||||
func FixCmd() *cli.Command {
|
||||
@ -38,19 +36,22 @@ func FixCmd() *cli.Command {
|
||||
Name: "fix",
|
||||
Usage: gotext.Get("Attempt to fix problems with ALR"),
|
||||
Action: func(c *cli.Context) error {
|
||||
err := utils.DropCapsToAlrUser()
|
||||
if err != nil {
|
||||
slog.Error(gotext.Get("Can't drop privileges"))
|
||||
return cli.Exit(err, 1)
|
||||
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
ctx := c.Context
|
||||
cfg := config.New()
|
||||
err = cfg.Load()
|
||||
|
||||
deps, err := appbuilder.
|
||||
New(ctx).
|
||||
WithConfig().
|
||||
Build()
|
||||
if err != nil {
|
||||
slog.Error(gotext.Get("Error loading config"))
|
||||
return cli.Exit(err, 1)
|
||||
}
|
||||
defer deps.Defer()
|
||||
|
||||
cfg := deps.Cfg
|
||||
|
||||
paths := cfg.GetPaths()
|
||||
|
||||
@ -86,25 +87,16 @@ func FixCmd() *cli.Command {
|
||||
return cli.Exit(err, 1)
|
||||
}
|
||||
|
||||
cfg = config.New()
|
||||
err = cfg.Load()
|
||||
deps, err = appbuilder.
|
||||
New(ctx).
|
||||
WithConfig().
|
||||
WithDB().
|
||||
WithRepos().
|
||||
Build()
|
||||
if err != nil {
|
||||
slog.Error(gotext.Get("Error loading config"))
|
||||
return cli.Exit(err, 1)
|
||||
}
|
||||
|
||||
db := database.New(cfg)
|
||||
err = db.Init(ctx)
|
||||
if err != nil {
|
||||
slog.Error(gotext.Get("Error initialization database"))
|
||||
return cli.Exit(err, 1)
|
||||
}
|
||||
rs := repos.New(cfg, db)
|
||||
err = rs.Pull(ctx, cfg.Repos())
|
||||
if err != nil {
|
||||
slog.Error(gotext.Get("Error pulling repos"))
|
||||
return cli.Exit(err, 1)
|
||||
}
|
||||
defer deps.Defer()
|
||||
|
||||
slog.Info(gotext.Get("Done"))
|
||||
|
||||
|
Reference in New Issue
Block a user