forked from Plemya-x/ALR
refactor: migrate list command to struct API
This commit is contained in:
parent
52d3ab7791
commit
a13acc5ed0
@ -34,6 +34,7 @@ type ALRConfig struct {
|
|||||||
cfg *types.Config
|
cfg *types.Config
|
||||||
paths *Paths
|
paths *Paths
|
||||||
|
|
||||||
|
cfgOnce sync.Once
|
||||||
pathsOnce sync.Once
|
pathsOnce sync.Once
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,3 +127,17 @@ func (c *ALRConfig) GetPaths(ctx context.Context) *Paths {
|
|||||||
})
|
})
|
||||||
return c.paths
|
return c.paths
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *ALRConfig) Repos(ctx context.Context) []types.Repo {
|
||||||
|
c.cfgOnce.Do(func() {
|
||||||
|
c.Load(ctx)
|
||||||
|
})
|
||||||
|
return c.cfg.Repos
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ALRConfig) IgnorePkgUpdates(ctx context.Context) []string {
|
||||||
|
c.cfgOnce.Do(func() {
|
||||||
|
c.Load(ctx)
|
||||||
|
})
|
||||||
|
return c.cfg.IgnorePkgUpdates
|
||||||
|
}
|
||||||
|
17
list.go
17
list.go
@ -22,12 +22,12 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
|
"golang.org/x/exp/slices"
|
||||||
"plemya-x.ru/alr/internal/config"
|
"plemya-x.ru/alr/internal/config"
|
||||||
"plemya-x.ru/alr/internal/db"
|
database "plemya-x.ru/alr/internal/db"
|
||||||
"plemya-x.ru/alr/pkg/loggerctx"
|
"plemya-x.ru/alr/pkg/loggerctx"
|
||||||
"plemya-x.ru/alr/pkg/manager"
|
"plemya-x.ru/alr/pkg/manager"
|
||||||
"plemya-x.ru/alr/pkg/repos"
|
"plemya-x.ru/alr/pkg/repos"
|
||||||
"golang.org/x/exp/slices"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var listCmd = &cli.Command{
|
var listCmd = &cli.Command{
|
||||||
@ -43,8 +43,15 @@ var listCmd = &cli.Command{
|
|||||||
Action: func(c *cli.Context) error {
|
Action: func(c *cli.Context) error {
|
||||||
ctx := c.Context
|
ctx := c.Context
|
||||||
log := loggerctx.From(ctx)
|
log := loggerctx.From(ctx)
|
||||||
|
cfg := config.New()
|
||||||
|
|
||||||
err := repos.Pull(ctx, config.Config(ctx).Repos)
|
db := database.New(cfg)
|
||||||
|
err := db.Init(ctx)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error initialization database").Err(err).Send()
|
||||||
|
}
|
||||||
|
|
||||||
|
err = repos.Pull(ctx, cfg.Repos(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error pulling repositories").Err(err).Send()
|
log.Fatal("Error pulling repositories").Err(err).Send()
|
||||||
}
|
}
|
||||||
@ -76,13 +83,13 @@ var listCmd = &cli.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
for result.Next() {
|
for result.Next() {
|
||||||
var pkg db.Package
|
var pkg database.Package
|
||||||
err := result.StructScan(&pkg)
|
err := result.StructScan(&pkg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if slices.Contains(config.Config(ctx).IgnorePkgUpdates, pkg.Name) {
|
if slices.Contains(cfg.IgnorePkgUpdates(ctx), pkg.Name) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user