Files
orion/app/modules/billing/models/__init__.py
Samir Boulahtit 9c27fa02b0
Some checks failed
CI / ruff (push) Failing after 8s
CI / pytest (push) Successful in 36m5s
CI / architecture (push) Successful in 11s
CI / dependency-scanning (push) Successful in 27s
CI / docs (push) Has been skipped
CI / audit (push) Successful in 8s
refactor: move capacity_forecast_service from billing to monitoring
Resolves the billing (core) → monitoring (optional) architecture violation
by moving CapacityForecastService to the monitoring module where it belongs.

- Create BillingMetricsProvider to expose subscription counts via stats_aggregator
- Move CapacitySnapshot model from billing to monitoring
- Replace direct MerchantSubscription queries with stats_aggregator calls
- Fix middleware test mocks to cover StoreDomain/MerchantDomain fallback chains

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 20:58:22 +01:00

54 lines
1.2 KiB
Python

# app/modules/billing/models/__init__.py
"""
Billing module database models.
This is the canonical location for billing models. Module models are automatically
discovered and registered with SQLAlchemy's Base.metadata at startup.
Usage:
from app.modules.billing.models import (
MerchantSubscription,
SubscriptionTier,
SubscriptionStatus,
TierCode,
TierFeatureLimit,
MerchantFeatureOverride,
)
"""
from app.modules.billing.models.merchant_subscription import MerchantSubscription
from app.modules.billing.models.subscription import (
AddOnCategory,
AddOnProduct,
BillingHistory,
BillingPeriod,
StoreAddOn,
StripeWebhookEvent,
SubscriptionStatus,
SubscriptionTier,
TierCode,
)
from app.modules.billing.models.tier_feature_limit import (
MerchantFeatureOverride,
TierFeatureLimit,
)
__all__ = [
# Subscription Enums
"TierCode",
"SubscriptionStatus",
"AddOnCategory",
"BillingPeriod",
# Subscription Models
"SubscriptionTier",
"AddOnProduct",
"StoreAddOn",
"StripeWebhookEvent",
"BillingHistory",
# Merchant Subscription
"MerchantSubscription",
# Feature Limits
"TierFeatureLimit",
"MerchantFeatureOverride",
]