This commit is contained in:
2025-04-13 20:22:32 +03:00
parent b8cb7af3bb
commit e3aaa88822
8 changed files with 139 additions and 109 deletions

View File

@@ -28,6 +28,7 @@ import (
"github.com/urfave/cli/v2"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/cliutils"
appbuilder "gitea.plemya-x.ru/Plemya-x/ALR/internal/cliutils/app_builder"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/config"
database "gitea.plemya-x.ru/Plemya-x/ALR/internal/db"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/types"
@@ -157,17 +158,17 @@ func RemoveCmd() *cli.Command {
Usage: gotext.Get("Remove an installed package"),
Aliases: []string{"rm"},
BashComplete: cliutils.BashCompleteWithError(func(c *cli.Context) error {
cfg := config.New()
err := cfg.Load()
if err != nil {
return cliutils.FormatCliExit(gotext.Get("Error loading config"), err)
}
ctx := c.Context
db := database.New(cfg)
err = db.Init(c.Context)
deps, err := appbuilder.
New(ctx).
WithConfig().
WithDB().
Build()
if err != nil {
return cliutils.FormatCliExit(gotext.Get("Error initialization database"), err)
return cli.Exit(err, 1)
}
defer deps.Defer()
installedAlrPackages := map[string]string{}
mgr := manager.Detect()
@@ -188,7 +189,7 @@ func RemoveCmd() *cli.Command {
}
}
result, err := db.GetPkgs(c.Context, "true")
result, err := deps.DB.GetPkgs(c.Context, "true")
if err != nil {
return cliutils.FormatCliExit(gotext.Get("Error getting packages"), err)
}
@@ -212,16 +213,18 @@ func RemoveCmd() *cli.Command {
return nil
}),
Action: func(c *cli.Context) error {
if err := utils.ExitIfNotRoot(); err != nil {
return err
}
args := c.Args()
if args.Len() < 1 {
slog.Error(gotext.Get("Command remove expected at least 1 argument, got %d", args.Len()))
os.Exit(1)
return cliutils.FormatCliExit(gotext.Get("Command remove expected at least 1 argument, got %d", args.Len()), nil)
}
mgr := manager.Detect()
if mgr == nil {
slog.Error(gotext.Get("Unable to detect a supported package manager on the system"))
os.Exit(1)
return cliutils.FormatCliExit(gotext.Get("Unable to detect a supported package manager on the system"), nil)
}
err := mgr.Remove(&manager.Opts{