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) FindDowntimesInsideInterval ¶ added in v0.3.0
type DowntimeRepository ¶ added in v0.2.0
type DowntimeRepository interface { Save(downtime *models.Downtime) error // FindDowntimesInsideInterval returns all models.Downtime that started or ended inside interval // defined with arguments from and to FindDowntimesInsideInterval(nodeID string, from time.Time, to time.Time) ([]models.Downtime, error) }
type FeeRepository ¶ added in v0.4.0
type FeeRepository interface { RecordNewFee(nodeID string, newFee int64) error GetAllFees() (*[]models.Fee, error) }
func NewFeeRepo ¶ added in v0.4.0
func NewFeeRepo(db *storm.DB) FeeRepository
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 GetPenalizedNodes() (*[]models.Node, error) GetAllActiveNodes() *[]models.Node IsNodeActive(ID string) bool RemoveNodeFromActive(ID string) error AddNodeToActive(ID string) error UpdateNodeUsed(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 PayoutRepository ¶ added in v0.3.0
type PayoutRepository interface { Save(payment *models.Payout) error GetAll() (*[]models.Payout, error) FindLatestPayout() (*models.Payout, error) }
func NewPayoutRepo ¶ added in v0.3.0
func NewPayoutRepo(db *storm.DB) PayoutRepository
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 // FindSuccessfulRecordsInsideInterval returns all models.Record that happened inside interval // defined with arguments from and to FindSuccessfulRecordsInsideInterval(nodeID string, from time.Time, to time.Time) ([]models.Record, error) CountSuccessfulRequests() (int, error) CountFailedRequests() (int, 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 PayoutRepo PayoutRepository FeeRepo FeeRepository }
Repos structure holds all available repositories
Click to show internal directories.
Click to hide internal directories.