Some checks failed
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>
54 lines
1.2 KiB
Python
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",
|
|
]
|