github.com/khulnasoft-lab/tunnel-db@v0.0.0-20231117205118-74e1113bd007/pkg/build.go (about)

     1  package pkg
     2  
     3  import (
     4  	"github.com/urfave/cli"
     5  	"golang.org/x/xerrors"
     6  
     7  	"github.com/khulnasoft-lab/tunnel-db/pkg/db"
     8  	"github.com/khulnasoft-lab/tunnel-db/pkg/vulndb"
     9  )
    10  
    11  func build(c *cli.Context) error {
    12  	cacheDir := c.String("cache-dir")
    13  	if err := db.Init(cacheDir); err != nil {
    14  		return xerrors.Errorf("db initialize error: %w", err)
    15  	}
    16  
    17  	targets := c.StringSlice("only-update")
    18  	updateInterval := c.Duration("update-interval")
    19  
    20  	vdb := vulndb.New(cacheDir, updateInterval)
    21  	if err := vdb.Build(targets); err != nil {
    22  		return xerrors.Errorf("build error: %w", err)
    23  	}
    24  
    25  	return nil
    26  
    27  }