db

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

func New

func New() *Client

func NewMock

func NewMock(t *testing.T) *Client

func (*Client) Close

func (x *Client) Close() error

func (*Client) CreateRepo

func (x *Client) CreateRepo(ctx *model.Context, repo *ent.Repository) (*ent.Repository, error)

func (*Client) DeleteSession

func (x *Client) DeleteSession(ctx *model.Context, ssnID string) error

func (*Client) GetLatestScan

func (x *Client) GetLatestScan(ctx *model.Context, branch model.GitHubBranch) (*ent.Scan, error)

func (*Client) GetLatestScans

func (x *Client) GetLatestScans(ctx *model.Context) ([]*ent.Scan, error)

func (*Client) GetLatestVulnerabilities

func (x *Client) GetLatestVulnerabilities(ctx *model.Context, offset int, limit int) ([]*ent.Vulnerability, error)

func (*Client) GetRepositories

func (x *Client) GetRepositories(ctx *model.Context) ([]*ent.Repository, error)

func (*Client) GetRepositoriesWithVuln

func (x *Client) GetRepositoriesWithVuln(ctx *model.Context, vulnID string) ([]*ent.Repository, error)

func (*Client) GetScan

func (x *Client) GetScan(ctx *model.Context, id string) (*ent.Scan, error)

func (*Client) GetSession

func (x *Client) GetSession(ctx *model.Context, ssnID string, now int64) (*ent.Session, error)

func (*Client) GetUser

func (x *Client) GetUser(ctx *model.Context, userID int) (*ent.User, error)

func (*Client) GetVulnStatus

func (x *Client) GetVulnStatus(ctx *model.Context, repo *model.GitHubRepo) ([]*ent.VulnStatus, error)

func (*Client) GetVulnerability

func (x *Client) GetVulnerability(ctx *model.Context, id string) (*ent.Vulnerability, error)

func (*Client) GetVulnerabilityCount

func (x *Client) GetVulnerabilityCount(ctx *model.Context) (int, error)

func (*Client) HasAuthState

func (x *Client) HasAuthState(ctx *model.Context, state string, now int64) (bool, error)

func (*Client) Open

func (x *Client) Open(dbType, dbConfig string) error

func (*Client) PutPackages

func (x *Client) PutPackages(ctx *model.Context, packages []*ent.PackageRecord) ([]*ent.PackageRecord, error)

func (*Client) PutScan

func (x *Client) PutScan(ctx *model.Context, scan *ent.Scan, repo *ent.Repository, packages []*ent.PackageRecord) (*ent.Scan, error)

func (*Client) PutSession

func (x *Client) PutSession(ctx *model.Context, ssn *ent.Session) error

func (*Client) PutUser

func (x *Client) PutUser(ctx *model.Context, user *ent.User) (int, error)

func (*Client) PutVulnStatus

func (x *Client) PutVulnStatus(ctx *model.Context, repo *ent.Repository, status *ent.VulnStatus, userID int) error

func (*Client) PutVulnerabilities

func (x *Client) PutVulnerabilities(ctx *model.Context, vulnerabilities []*ent.Vulnerability) error

func (*Client) SaveAuthState

func (x *Client) SaveAuthState(ctx *model.Context, state string, expiresAt int64) error

Auth

type Factory

type Factory func(dbType, dbConfig string) (Interface, error)

type Interface

type Interface interface {
	Open(dbType, dbConfig string) error
	Close() error

	CreateRepo(ctx *model.Context, repo *ent.Repository) (*ent.Repository, error)

	PutVulnerabilities(ctx *model.Context, vulnerabilities []*ent.Vulnerability) error
	GetVulnerability(ctx *model.Context, id string) (*ent.Vulnerability, error)
	GetLatestVulnerabilities(ctx *model.Context, offset, limit int) ([]*ent.Vulnerability, error)
	GetVulnerabilityCount(ctx *model.Context) (int, error)

	PutPackages(ctx *model.Context, packages []*ent.PackageRecord) ([]*ent.PackageRecord, error)
	PutScan(ctx *model.Context, scan *ent.Scan, repo *ent.Repository, packages []*ent.PackageRecord) (*ent.Scan, error)
	PutVulnStatus(ctx *model.Context, repo *ent.Repository, status *ent.VulnStatus, userID int) error
	GetVulnStatus(ctx *model.Context, repo *model.GitHubRepo) ([]*ent.VulnStatus, error)

	GetScan(ctx *model.Context, id string) (*ent.Scan, error)
	GetLatestScan(ctx *model.Context, branch model.GitHubBranch) (*ent.Scan, error)
	GetLatestScans(ctx *model.Context) ([]*ent.Scan, error)
	GetRepositories(ctx *model.Context) ([]*ent.Repository, error)
	GetRepositoriesWithVuln(ctx *model.Context, vulnID string) ([]*ent.Repository, error)

	// Auth
	SaveAuthState(ctx *model.Context, state string, expiresAt int64) error
	HasAuthState(ctx *model.Context, state string, now int64) (bool, error)
	GetUser(ctx *model.Context, userID int) (*ent.User, error)
	PutUser(ctx *model.Context, user *ent.User) (int, error)
	PutSession(ctx *model.Context, ssn *ent.Session) error
	GetSession(ctx *model.Context, ssnID string, now int64) (*ent.Session, error)
	DeleteSession(ctx *model.Context, ssnID string) error
}

type ScanResult

type ScanResult struct {
	Repo            *ent.Repository
	Scan            *ent.Scan
	Packages        []*ent.PackageRecord
	Vulnerabilities []*ent.Vulnerability
}

Jump to

Keyboard shortcuts

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