Documentation
¶
Index ¶
- func Query(db *datastore.Datastore) datastore.Query
- type UsageWatermark
- func (w *UsageWatermark) Defaults()
- func (w *UsageWatermark) Init(db *datastore.Datastore)
- func (w UsageWatermark) Kind() string
- func (w *UsageWatermark) Load(ps []datastore.Property) (err error)
- func (w *UsageWatermark) Save() (ps []datastore.Property, err error)
- func (w *UsageWatermark) Validator() *val.Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type UsageWatermark ¶
type UsageWatermark struct {
mixin.Model
SubscriptionItemId string `json:"subscriptionItemId"`
MeterId string `json:"meterId"`
InvoiceId string `json:"invoiceId"`
PeriodStart time.Time `json:"periodStart"`
PeriodEnd time.Time `json:"periodEnd"`
// Usage value that was aggregated into the invoice
AggregatedValue int64 `json:"aggregatedValue"`
// Number of events included in the aggregation
EventCount int64 `json:"eventCount"`
// Latest event timestamp included in this watermark
LastEventTimestamp time.Time `json:"lastEventTimestamp"`
}
UsageWatermark records the last aggregated position for a subscription item within an invoice period. This prevents double-invoicing of usage events and supports late-arriving event handling.
func New ¶
func New(db *datastore.Datastore) *UsageWatermark
func (*UsageWatermark) Defaults ¶
func (w *UsageWatermark) Defaults()
func (*UsageWatermark) Init ¶
func (w *UsageWatermark) Init(db *datastore.Datastore)
func (UsageWatermark) Kind ¶
func (w UsageWatermark) Kind() string
func (*UsageWatermark) Validator ¶
func (w *UsageWatermark) Validator() *val.Validator
Click to show internal directories.
Click to hide internal directories.