database

package
Version: v0.0.0-...-236fc01 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2021 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UserExists        = errors.New("user already exist")
	UserNotExists     = errors.New("user doesn't exist")
	HashError         = errors.New("unable to hash")
	InsertFail        = errors.New("unable to insert row")
	QueryFail         = errors.New("unable to query")
	UpdateFail        = errors.New("unable to update")
	DeleteFail        = errors.New("unable to delete")
	ItemNotFound      = errors.New("object not found")
	ParseTimeFail     = errors.New("unable to parse time")
	ParseDurationFail = errors.New("unable to parse duration")
	MarshalFail       = errors.New("unable to marshal")
	UnmarshalFail     = errors.New("unable to unmarshal")
	BulkError         = errors.New("unable to insert bulk")
	ParseType         = errors.New("unable to parse type")
	InvalidIPOrRange  = errors.New("invalid ip address / range")
	InvalidFilter     = errors.New("invalid filter")
)

Functions

func BuildAlertRequestFromFilter

func BuildAlertRequestFromFilter(alerts *ent.AlertQuery, filter map[string][]string) (*ent.AlertQuery, error)

func BuildDecisionRequestWithFilter

func BuildDecisionRequestWithFilter(query *ent.DecisionQuery, filter map[string][]string) (*ent.DecisionQuery, error)

func GetIpsFromIpRange

func GetIpsFromIpRange(host string) (int64, int64, error)

func IP2Int

func IP2Int(ip net.IP) uint32

func Int2ip

func Int2ip(nn uint32) net.IP

func IsIpv4

func IsIpv4(host string) bool

func LastAddress

func LastAddress(n *net.IPNet) net.IP

Stolen from : https://github.com/llimllib/ipaddress/ Return the final address of a net range. Convert to IPv4 if possible, otherwise return an ipv6

Types

type Client

type Client struct {
	Ent *ent.Client
	CTX context.Context
	Log *log.Logger
}

func NewClient

func NewClient(config *csconfig.DatabaseCfg) (*Client, error)

func (*Client) CreateAlert

func (c *Client) CreateAlert(machineID string, alertList []*models.Alert) ([]string, error)

func (*Client) CreateAlertBulk

func (c *Client) CreateAlertBulk(machineId string, alertList []*models.Alert) ([]string, error)

func (*Client) CreateBouncer

func (c *Client) CreateBouncer(name string, ipAddr string, apiKey string) error

func (*Client) CreateMachine

func (c *Client) CreateMachine(machineID *string, password *strfmt.Password, ipAddress string, isValidated bool, force bool) (int, error)

func (*Client) DeleteAlertGraph

func (c *Client) DeleteAlertGraph(alertItem *ent.Alert) error

func (*Client) DeleteAlertWithFilter

func (c *Client) DeleteAlertWithFilter(filter map[string][]string) (int, error)

func (*Client) DeleteBouncer

func (c *Client) DeleteBouncer(name string) error

func (*Client) DeleteDecisionById

func (c *Client) DeleteDecisionById(decisionId int) error

func (*Client) DeleteDecisionsWithFilter

func (c *Client) DeleteDecisionsWithFilter(filter map[string][]string) (string, error)

func (*Client) DeleteWatcher

func (c *Client) DeleteWatcher(name string) error

func (*Client) FlushAlerts

func (c *Client) FlushAlerts(MaxAge string, MaxItems int) error

func (*Client) GetAlertByID

func (c *Client) GetAlertByID(alertID int) (*ent.Alert, error)

func (*Client) IsMachineRegistered

func (c *Client) IsMachineRegistered(machineID string) (bool, error)

func (*Client) ListBouncers

func (c *Client) ListBouncers() ([]*ent.Bouncer, error)

func (*Client) ListMachines

func (c *Client) ListMachines() ([]*ent.Machine, error)

func (*Client) QueryAlertWithFilter

func (c *Client) QueryAlertWithFilter(filter map[string][]string) ([]*ent.Alert, error)

func (*Client) QueryAllDecisions

func (c *Client) QueryAllDecisions() ([]*ent.Decision, error)

func (*Client) QueryDecisionWithFilter

func (c *Client) QueryDecisionWithFilter(filter map[string][]string) ([]*ent.Decision, error)

func (*Client) QueryExpiredDecisions

func (c *Client) QueryExpiredDecisions() ([]*ent.Decision, error)

func (*Client) QueryExpiredDecisionsSince

func (c *Client) QueryExpiredDecisionsSince(since time.Time) ([]*ent.Decision, error)

func (*Client) QueryMachineByID

func (c *Client) QueryMachineByID(machineID string) (*ent.Machine, error)

func (*Client) QueryNewDecisionsSince

func (c *Client) QueryNewDecisionsSince(since time.Time) ([]*ent.Decision, error)

func (*Client) QueryPendingMachine

func (c *Client) QueryPendingMachine() ([]*ent.Machine, error)

func (*Client) SelectBouncer

func (c *Client) SelectBouncer(apiKeyHash string) (*ent.Bouncer, error)

func (*Client) SoftDeleteDecisionByID

func (c *Client) SoftDeleteDecisionByID(decisionID int) error

SoftDeleteDecisionByID set the expiration of a decision to now()

func (*Client) SoftDeleteDecisionsWithFilter

func (c *Client) SoftDeleteDecisionsWithFilter(filter map[string][]string) (string, error)

SoftDeleteDecisionsWithFilter udpate the expiration time to now() for the decisions matching the filter

func (*Client) StartFlushScheduler

func (c *Client) StartFlushScheduler(config *csconfig.FlushDBCfg) (*gocron.Scheduler, error)

func (*Client) TotalAlerts

func (c *Client) TotalAlerts() (int, error)

func (*Client) UpdateBouncerIP

func (c *Client) UpdateBouncerIP(ipAddr string, ID int) error

func (*Client) UpdateBouncerLastPull

func (c *Client) UpdateBouncerLastPull(lastPull time.Time, ID int) error

func (*Client) UpdateBouncerTypeAndVersion

func (c *Client) UpdateBouncerTypeAndVersion(bType string, version string, ID int) error

func (*Client) UpdateMachineIP

func (c *Client) UpdateMachineIP(ipAddr string, ID int) error

func (*Client) UpdateMachineScenarios

func (c *Client) UpdateMachineScenarios(scenarios string, ID int) error

func (*Client) UpdateMachineVersion

func (c *Client) UpdateMachineVersion(ipAddr string, ID int) error

func (*Client) ValidateMachine

func (c *Client) ValidateMachine(machineID string) error

Jump to

Keyboard shortcuts

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