MCPcopy
hub / github.com/learnhouse/learnhouse / UsageEvent

Class UsageEvent

apps/api/src/db/billing_usage.py:7–23  ·  view source on GitHub ↗

Event-based usage tracking for billing. Records when members/courses are added or removed.

Source from the content-addressed store, hash-verified

5
6
7class UsageEvent(SQLModel, table=True):
8 """
9 Event-based usage tracking for billing.
10 Records when members/courses are added or removed.
11 """
12 __table_args__ = (
13 Index('ix_usage_event_org_feature_ts', 'org_id', 'feature', 'timestamp'),
14 )
15
16 id: Optional[int] = Field(default=None, primary_key=True)
17 org_id: int = Field(
18 sa_column=Column(BigInteger, ForeignKey("organization.id", ondelete="CASCADE"))
19 )
20 feature: str # "members" or "courses"
21 event_type: str # "add" or "remove"
22 timestamp: datetime = Field(default_factory=datetime.now)
23 usage_after: int # Total count after this event
24
25
26class UsageEventRead(SQLModel):

Callers 2

log_usage_eventFunction · 0.90
_make_usage_eventFunction · 0.90

Calls 1

FieldFunction · 0.50

Tested by 1

_make_usage_eventFunction · 0.72