This commit is contained in:
2025-04-13 19:12:02 +03:00
parent bf47f7c0b7
commit 587abf7aad
9 changed files with 275 additions and 169 deletions

View File

@ -25,8 +25,7 @@ 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/search"
)
@ -64,38 +63,23 @@ func SearchCmd() *cli.Command {
},
},
Action: func(c *cli.Context) error {
err := utils.ExitIfCantDropCapsToAlrUser()
if err != nil {
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {
return err
}
ctx := c.Context
cfg := config.New()
err = cfg.Load()
deps, err := appbuilder.
New(ctx).
WithConfig().
WithDB().
Build()
if err != nil {
slog.Error(gotext.Get("Error loading config"))
return cli.Exit(err, 1)
return err
}
defer deps.Defer()
db := database.New(cfg)
err = db.Init(ctx)
defer db.Close()
if err != nil {
slog.Error(gotext.Get("Error initialization database"), "err", err)
return cli.Exit(err, 1)
}
format := c.String("format")
var tmpl *template.Template
if format != "" {
tmpl, err = template.New("format").Parse(format)
if err != nil {
slog.Error(gotext.Get("Error parsing format template"))
return cli.Exit(err, 1)
}
}
db := deps.DB
s := search.New(db)
@ -109,10 +93,20 @@ func SearchCmd() *cli.Command {
Build(),
)
if err != nil {
slog.Error(gotext.Get("Error parsing format template"))
slog.Error(gotext.Get("Error while executing search"))
return cli.Exit(err, 1)
}
format := c.String("format")
var tmpl *template.Template
if format != "" {
tmpl, err = template.New("format").Parse(format)
if err != nil {
slog.Error(gotext.Get("Error parsing format template"))
return cli.Exit(err, 1)
}
}
for _, dbPkg := range packages {
if tmpl != nil {
err = tmpl.Execute(os.Stdout, dbPkg)