Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Store ¶
type Store interface {
IngestBatch(ctx context.Context, events []*UsageEvent) error
Aggregate(ctx context.Context, tenantID, appID, featureKey string, period plan.Period) (int64, error)
AggregateMulti(ctx context.Context, tenantID, appID string, featureKeys []string, period plan.Period) (map[string]int64, error)
Query(ctx context.Context, tenantID, appID string, opts QueryOpts) ([]*UsageEvent, error)
Purge(ctx context.Context, before time.Time) (int64, error)
}
type UsageEvent ¶
type UsageEvent struct {
ID id.UsageEventID `json:"id"`
TenantID string `json:"tenant_id"`
AppID string `json:"app_id"`
FeatureKey string `json:"feature_key"`
Quantity int64 `json:"quantity"`
Timestamp time.Time `json:"timestamp"`
IdempotencyKey string `json:"idempotency_key,omitempty"`
Metadata map[string]string `json:"metadata,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.