Documentation ¶
Index ¶
- Variables
- type DB
- type Endpoint
- func (e *Endpoint) GetAllPayments(ctx context.Context, req *pb.GetAllPaymentsRequest) (_ *pb.GetAllPaymentsResponse, err error)
- func (e *Endpoint) GetAllPaystubs(ctx context.Context, req *pb.GetAllPaystubsRequest) (_ *pb.GetAllPaystubsResponse, err error)
- func (e *Endpoint) GetPayStub(ctx context.Context, req *pb.GetHeldAmountRequest) (_ *pb.GetHeldAmountResponse, err error)
- func (e *Endpoint) GetPayment(ctx context.Context, req *pb.GetPaymentRequest) (_ *pb.GetPaymentResponse, err error)
- type Payment
- type Paystub
- type Service
- func (service *Service) GetAllPayments(ctx context.Context, nodeID storj.NodeID) ([]Payment, error)
- func (service *Service) GetAllPaystubs(ctx context.Context, nodeID storj.NodeID) ([]Paystub, error)
- func (service *Service) GetPayment(ctx context.Context, nodeID storj.NodeID, period string) (Payment, error)
- func (service *Service) GetPaystub(ctx context.Context, nodeID storj.NodeID, period string) (Paystub, error)
Constants ¶
This section is empty.
Variables ¶
var ErrNoDataForPeriod = errs.Class("no payStub/payments for period error")
ErrNoDataForPeriod represents errors from the payouts database.
var Error = errs.Class("payouts db error")
Error is the default error class for payouts package.
Functions ¶
This section is empty.
Types ¶
type DB ¶
type DB interface { // GetPaystub return payStub by nodeID and period. GetPaystub(ctx context.Context, nodeID storj.NodeID, period string) (Paystub, error) // GetAllPaystubs return all payStubs by nodeID. GetAllPaystubs(ctx context.Context, nodeID storj.NodeID) ([]Paystub, error) // GetPayment return storagenode payment by nodeID and period. GetPayment(ctx context.Context, nodeID storj.NodeID, period string) (Payment, error) // GetAllPayments return all payments by nodeID. GetAllPayments(ctx context.Context, nodeID storj.NodeID) ([]Payment, error) // TestCreatePaystub insert paystub into db. Only used for tests. TestCreatePaystub(ctx context.Context, stub Paystub) (err error) // TestCreatePayment insert payment into db. Only used for tests. TestCreatePayment(ctx context.Context, payment Payment) (err error) }
DB exposes all needed functionality to manage payouts.
architecture: Service
type Endpoint ¶
type Endpoint struct {
// contains filtered or unexported fields
}
Endpoint for querying node stats for the SNO.
architecture: Endpoint
func NewEndpoint ¶
func NewEndpoint(log *zap.Logger, accounting accounting.StoragenodeAccounting, overlay overlay.DB, service *Service) *Endpoint
NewEndpoint creates new endpoint.
func (*Endpoint) GetAllPayments ¶
func (e *Endpoint) GetAllPayments(ctx context.Context, req *pb.GetAllPaymentsRequest) (_ *pb.GetAllPaymentsResponse, err error)
GetAllPayments sends all payments to node.
func (*Endpoint) GetAllPaystubs ¶
func (e *Endpoint) GetAllPaystubs(ctx context.Context, req *pb.GetAllPaystubsRequest) (_ *pb.GetAllPaystubsResponse, err error)
GetAllPaystubs sends all paystubs for client node.
func (*Endpoint) GetPayStub ¶
func (e *Endpoint) GetPayStub(ctx context.Context, req *pb.GetHeldAmountRequest) (_ *pb.GetHeldAmountResponse, err error)
GetPayStub sends node paystub for client node.
func (*Endpoint) GetPayment ¶
func (e *Endpoint) GetPayment(ctx context.Context, req *pb.GetPaymentRequest) (_ *pb.GetPaymentResponse, err error)
GetPayment sends node payment data for client node.
type Payment ¶ added in v1.21.3
type Payment struct { ID int64 `json:"id"` Created time.Time `json:"created"` NodeID storj.NodeID `json:"nodeId"` Period string `json:"period"` Amount int64 `json:"amount"` Receipt string `json:"receipt"` Notes string `json:"notes"` }
Payment is an entity that holds payment to storagenode operator parameters.
type Paystub ¶ added in v1.21.3
type Paystub struct { Period string `json:"period"` NodeID storj.NodeID `json:"nodeId"` Created time.Time `json:"created"` Codes string `json:"codes"` UsageAtRest float64 `json:"usageAtRest"` UsageGet int64 `json:"usageGet"` UsagePut int64 `json:"usagePut"` UsageGetRepair int64 `json:"usageGetRepair"` UsagePutRepair int64 `json:"usagePutRepair"` UsageGetAudit int64 `json:"usageGetAudit"` CompAtRest int64 `json:"compAtRest"` CompGet int64 `json:"compGet"` CompPut int64 `json:"compPut"` CompGetRepair int64 `json:"compGetRepair"` CompPutRepair int64 `json:"compPutRepair"` CompGetAudit int64 `json:"compGetAudit"` SurgePercent int64 `json:"surgePercent"` Held int64 `json:"held"` Owed int64 `json:"owed"` Disposed int64 `json:"disposed"` Paid int64 `json:"paid"` Distributed int64 `json:"distributed"` }
Paystub is an entity that holds held amount of cash that will be paid to storagenode operator after some period.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is used to store and handle node paystub information.
architecture: Service
func NewService ¶
NewService returns a new Service.
func (*Service) GetAllPayments ¶
GetAllPayments returns all payments by nodeID.
func (*Service) GetAllPaystubs ¶
GetAllPaystubs returns all paystubs by nodeID.