repositories

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DowntimeRepo added in v0.2.0

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

func NewDowntimeRepo added in v0.2.0

func NewDowntimeRepo(db *storm.DB) *DowntimeRepo

func (*DowntimeRepo) Save added in v0.2.0

func (r *DowntimeRepo) Save(downtime *models.Downtime) error

type DowntimeRepository added in v0.2.0

type DowntimeRepository interface {
	Save(downtime *models.Downtime) error
}

type MetricsRepository added in v0.2.0

type MetricsRepository interface {
	FindByID(ID string) (*models.Metrics, error)
	Save(metrics *models.Metrics) error
	SaveAndCheckIfFirstEntry(metrics *models.Metrics) (bool, error)
	GetAll() (*[]models.Metrics, error)
	GetLatestBlockMetrics() (*models.LatestBlockMetrics, error)
}

func NewMetricsRepo

func NewMetricsRepo(db *storm.DB) MetricsRepository

type NodeRepository added in v0.2.0

type NodeRepository interface {
	FindByID(ID string) (*models.Node, error)
	Save(node *models.Node) error
	GetAll() (*[]models.Node, error)
	GetActiveNodes(selection string) *[]models.Node
	GetAllActiveNodes() *[]models.Node
	IsNodeActive(ID string) bool
	RemoveNodeFromActive(ID string) error
	AddNodeToActive(ID string) error
	RewardNode(node models.Node)
	IncreaseNodeCooldown(ID string) (*models.Node, error)
	ResetNodeCooldown(ID string) (*models.Node, error)
	IsNodeOnCooldown(ID string) (bool, error)
}

func NewNodeRepo

func NewNodeRepo(db *storm.DB) NodeRepository

type PingRepository added in v0.2.0

type PingRepository interface {
	FindByNodeID(nodeId string) (*models.Ping, error)
	Save(ping *models.Ping) error
	GetAll() (*[]models.Ping, error)
	ResetAllPings() error
	CalculateDowntime(nodeId string, pingTime time.Time) (time.Time, time.Duration, error)
}

func NewPingRepo

func NewPingRepo(db *storm.DB) PingRepository

type RecordRepository added in v0.2.0

type RecordRepository interface {
	Save(record *models.Record) error
}

func NewRecordRepo added in v0.2.0

func NewRecordRepo(db *storm.DB) RecordRepository

type Repos added in v0.2.0

type Repos struct {
	NodeRepo     NodeRepository
	PingRepo     PingRepository
	MetricsRepo  MetricsRepository
	RecordRepo   RecordRepository
	DowntimeRepo DowntimeRepository
}

Repos structure holds all available repositories

Jump to

Keyboard shortcuts

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