Documentation
¶
Index ¶
- func CurrentDate() string
- type LiveUsageTracker
- type NoopUsageTracker
- type Store
- func (s *Store) CountAgentsByUser(ctx context.Context, userID string) (int, error)
- func (s *Store) GetUsageSummary(ctx context.Context, userID, bucketDate string) (*UsageSummary, error)
- func (s *Store) IncrementUsageSummary(ctx context.Context, userID, bucketDate, direction string) error
- func (s *Store) RecordUsageEvent(ctx context.Context, event *UsageEvent) error
- type UsageEvent
- type UsageSummary
- type UsageTracker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CurrentDate ¶
func CurrentDate() string
CurrentDate returns today's date as a string in YYYY-MM-DD format.
Types ¶
type LiveUsageTracker ¶
type LiveUsageTracker struct {
// contains filtered or unexported fields
}
LiveUsageTracker is the real implementation backed by the billing store.
func NewUsageTracker ¶
func NewUsageTracker(store *Store) *LiveUsageTracker
func (*LiveUsageTracker) RecordAndCheck ¶
type NoopUsageTracker ¶
type NoopUsageTracker struct{}
NoopUsageTracker always allows everything. Used when billing is disabled.
func NewNoopUsageTracker ¶
func NewNoopUsageTracker() *NoopUsageTracker
func (*NoopUsageTracker) RecordAndCheck ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
func (*Store) CountAgentsByUser ¶
func (*Store) GetUsageSummary ¶
func (*Store) IncrementUsageSummary ¶
func (*Store) RecordUsageEvent ¶
func (s *Store) RecordUsageEvent(ctx context.Context, event *UsageEvent) error
type UsageEvent ¶
type UsageSummary ¶
type UsageTracker ¶
type UsageTracker interface {
// RecordAndCheck records a usage event. Always returns true.
RecordAndCheck(ctx context.Context, userID, agentID, domain, direction string) (allowed bool, err error)
}
UsageTracker records usage events. Always allows the action (no quota enforcement).
Click to show internal directories.
Click to hide internal directories.