db

package
v0.10.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2023 License: Apache-2.0 Imports: 29 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDBLocked = xerrors.New("database is locked")

ErrDBLocked :

Functions

This section is empty.

Types

type DB added in v0.1.1

type DB interface {
	Name() string
	OpenDB(string, string, bool, Option) error
	CloseDB() error
	MigrateDB() error

	IsGoCVEDictModelV1() (bool, error)
	GetFetchMeta() (*models.FetchMeta, error)
	UpsertFetchMeta(*models.FetchMeta) error

	Get(string) (*models.CveDetail, error)
	GetMulti([]string) (map[string]models.CveDetail, error)
	GetCveIDsByCpeURI(string) ([]string, []string, []string, error)
	GetByCpeURI(string) ([]models.CveDetail, error)
	InsertJvn([]string) error
	InsertNvd([]string) error
	InsertFortinet([]models.Fortinet) error
	CountNvd() (int, error)
	CountJvn() (int, error)
	CountFortinet() (int, error)
}

DB is interface for a database driver

func NewDB added in v0.1.1

func NewDB(dbType, dbPath string, debugSQL bool, option Option) (driver DB, err error)

NewDB return DB accessor.

type IndexChunk added in v0.8.1

type IndexChunk struct {
	From, To int
}

IndexChunk has a starting point and an ending point for Chunk

type Option added in v0.8.2

type Option struct {
	RedisTimeout time.Duration
}

Option :

type RDBDriver added in v0.1.1

type RDBDriver struct {
	// contains filtered or unexported fields
}

RDBDriver is Driver for RDB

func (*RDBDriver) CloseDB added in v0.2.0

func (r *RDBDriver) CloseDB() (err error)

CloseDB close Database

func (*RDBDriver) CountFortinet added in v0.10.0

func (r *RDBDriver) CountFortinet() (int, error)

CountFortinet count fortinet table

func (*RDBDriver) CountJvn added in v0.8.1

func (r *RDBDriver) CountJvn() (int, error)

CountJvn count jvn table

func (*RDBDriver) CountNvd added in v0.1.1

func (r *RDBDriver) CountNvd() (int, error)

CountNvd count nvd table

func (*RDBDriver) Get added in v0.1.1

func (r *RDBDriver) Get(cveID string) (*models.CveDetail, error)

Get Select Cve information from DB.

func (*RDBDriver) GetByCpeURI added in v0.2.0

func (r *RDBDriver) GetByCpeURI(uri string) ([]models.CveDetail, error)

GetByCpeURI Select Cve information from DB.

func (*RDBDriver) GetCveIDsByCpeURI added in v0.8.1

func (r *RDBDriver) GetCveIDsByCpeURI(uri string) (nvdCveIDs []string, jvnCveIDs []string, fortinetCveIDs []string, err error)

GetCveIDsByCpeURI Select Cve Ids by by pseudo-CPE

func (*RDBDriver) GetFetchMeta added in v0.8.1

func (r *RDBDriver) GetFetchMeta() (fetchMeta *models.FetchMeta, err error)

GetFetchMeta get FetchMeta from Database

func (*RDBDriver) GetMulti added in v0.2.0

func (r *RDBDriver) GetMulti(cveIDs []string) (map[string]models.CveDetail, error)

GetMulti Select Cves information from DB.

func (*RDBDriver) InsertFortinet added in v0.10.0

func (r *RDBDriver) InsertFortinet(advs []models.Fortinet) (err error)

InsertFortinet Cve information from DB.

func (*RDBDriver) InsertJvn added in v0.1.1

func (r *RDBDriver) InsertJvn(years []string) error

InsertJvn inserts Cve Information into DB

func (*RDBDriver) InsertNvd added in v0.1.1

func (r *RDBDriver) InsertNvd(years []string) (err error)

InsertNvd Cve information from DB.

func (*RDBDriver) IsGoCVEDictModelV1 added in v0.8.1

func (r *RDBDriver) IsGoCVEDictModelV1() (bool, error)

IsGoCVEDictModelV1 determines if the DB was created at the time of go-cve-dictionary Model v1

func (*RDBDriver) MigrateDB added in v0.1.1

func (r *RDBDriver) MigrateDB() error

MigrateDB migrates Database

func (*RDBDriver) Name added in v0.1.1

func (r *RDBDriver) Name() string

Name return db name

func (*RDBDriver) OpenDB added in v0.1.1

func (r *RDBDriver) OpenDB(dbType, dbPath string, debugSQL bool, _ Option) (err error)

OpenDB opens Database

func (*RDBDriver) UpsertFetchMeta added in v0.8.1

func (r *RDBDriver) UpsertFetchMeta(fetchMeta *models.FetchMeta) error

UpsertFetchMeta upsert FetchMeta to Database

type RedisDriver added in v0.1.1

type RedisDriver struct {
	// contains filtered or unexported fields
}

RedisDriver is Driver for Redis

func (*RedisDriver) CloseDB added in v0.2.0

func (r *RedisDriver) CloseDB() (err error)

CloseDB close Database

func (*RedisDriver) CountFortinet added in v0.10.0

func (r *RedisDriver) CountFortinet() (int, error)

CountFortinet count fortinet table

func (*RedisDriver) CountJvn added in v0.8.1

func (r *RedisDriver) CountJvn() (int, error)

CountJvn count jvn table

func (*RedisDriver) CountNvd added in v0.1.1

func (r *RedisDriver) CountNvd() (int, error)

CountNvd count nvd table

func (*RedisDriver) Get added in v0.1.1

func (r *RedisDriver) Get(cveID string) (*models.CveDetail, error)

Get Select Cve information from DB.

func (*RedisDriver) GetByCpeURI added in v0.2.0

func (r *RedisDriver) GetByCpeURI(uri string) ([]models.CveDetail, error)

GetByCpeURI Select Cve information from DB.

func (*RedisDriver) GetCveIDsByCpeURI added in v0.8.1

func (r *RedisDriver) GetCveIDsByCpeURI(uri string) ([]string, []string, []string, error)

GetCveIDsByCpeURI Select Cve Ids by by pseudo-CPE

func (*RedisDriver) GetFetchMeta added in v0.8.1

func (r *RedisDriver) GetFetchMeta() (*models.FetchMeta, error)

GetFetchMeta get FetchMeta from Database

func (*RedisDriver) GetMulti added in v0.2.0

func (r *RedisDriver) GetMulti(cveIDs []string) (map[string]models.CveDetail, error)

GetMulti Select Cves information from DB.

func (*RedisDriver) InsertFortinet added in v0.10.0

func (r *RedisDriver) InsertFortinet(advs []models.Fortinet) error

InsertFortinet Cve information from DB.

func (*RedisDriver) InsertJvn added in v0.1.1

func (r *RedisDriver) InsertJvn(years []string) error

InsertJvn insert items fetched from JVN.

func (*RedisDriver) InsertNvd added in v0.1.1

func (r *RedisDriver) InsertNvd(years []string) error

InsertNvd Cve information from DB.

func (*RedisDriver) IsGoCVEDictModelV1 added in v0.8.1

func (r *RedisDriver) IsGoCVEDictModelV1() (bool, error)

IsGoCVEDictModelV1 determines if the DB was created at the time of go-cve-dictionary Model v1

func (*RedisDriver) MigrateDB added in v0.1.1

func (r *RedisDriver) MigrateDB() error

MigrateDB migrates Database

func (*RedisDriver) Name added in v0.1.1

func (r *RedisDriver) Name() string

Name return db name

func (*RedisDriver) OpenDB added in v0.1.1

func (r *RedisDriver) OpenDB(_, dbPath string, _ bool, option Option) error

OpenDB opens Database

func (*RedisDriver) UpsertFetchMeta added in v0.8.1

func (r *RedisDriver) UpsertFetchMeta(fetchMeta *models.FetchMeta) error

UpsertFetchMeta upsert FetchMeta to Database

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL