f2812d76cd
payout summaries for specific satellite period/allTime added Change-Id: I144138304f01f23d5c4b10931988eaaced656aaf
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
// Copyright (C) 2021 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package payouts
|
|
|
|
import (
|
|
"storj.io/common/storj"
|
|
)
|
|
|
|
// SatelliteSummary contains satellite id and earned amount.
|
|
type SatelliteSummary struct {
|
|
SatelliteID storj.NodeID `json:"satelliteID"`
|
|
Earned int64 `json:"earned"`
|
|
}
|
|
|
|
// NodeSummary contains node's payout information.
|
|
type NodeSummary struct {
|
|
NodeID storj.NodeID `json:"nodeId"`
|
|
NodeName string `json:"nodeName"`
|
|
Held int64 `json:"held"`
|
|
Paid int64 `json:"paid"`
|
|
}
|
|
|
|
// Summary contains payouts page data.
|
|
type Summary struct {
|
|
TotalEarned int64 `json:"totalEarned"`
|
|
TotalHeld int64 `json:"totalHeld"`
|
|
TotalPaid int64 `json:"totalPaid"`
|
|
NodeSummary []NodeSummary `json:"nodeSummary"`
|
|
}
|
|
|
|
// Add appends node payout data to summary.
|
|
func (summary *Summary) Add(held, paid int64, id storj.NodeID, name string) {
|
|
summary.TotalPaid += paid
|
|
summary.TotalHeld += held
|
|
summary.TotalEarned += paid + held
|
|
summary.NodeSummary = append(summary.NodeSummary, NodeSummary{
|
|
NodeID: id,
|
|
Held: held,
|
|
Paid: paid,
|
|
NodeName: name,
|
|
})
|
|
}
|