Migrates billing module to self-contained structure: - Create app/modules/billing/services/ with subscription, stripe, admin services - Create app/modules/billing/models/ re-exporting from central location - Create app/modules/billing/schemas/ re-exporting from central location - Create app/modules/billing/tasks/ with 4 scheduled Celery tasks - Create app/modules/billing/exceptions.py with module-specific exceptions - Update definition.py with is_self_contained=True and scheduled_tasks Celery task migration: - reset_period_counters -> billing module - check_trial_expirations -> billing module - sync_stripe_status -> billing module - cleanup_stale_subscriptions -> billing module - capture_capacity_snapshot remains in legacy (will go to monitoring) Backward compatibility: - Create re-exports in app/services/ for subscription, stripe, admin services - Old import paths continue to work - Update celery_config.py to use module-defined schedules Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
# app/modules/billing/models/__init__.py
|
|
"""
|
|
Billing module models.
|
|
|
|
Re-exports subscription models from the central models location.
|
|
Models remain in models/database/ for now to avoid breaking existing imports
|
|
across the codebase. This provides a module-local import path.
|
|
|
|
Usage:
|
|
from app.modules.billing.models import (
|
|
VendorSubscription,
|
|
SubscriptionTier,
|
|
SubscriptionStatus,
|
|
TierCode,
|
|
)
|
|
"""
|
|
|
|
from models.database.subscription import (
|
|
# Enums
|
|
TierCode,
|
|
SubscriptionStatus,
|
|
AddOnCategory,
|
|
BillingPeriod,
|
|
# Models
|
|
SubscriptionTier,
|
|
AddOnProduct,
|
|
VendorAddOn,
|
|
StripeWebhookEvent,
|
|
BillingHistory,
|
|
VendorSubscription,
|
|
CapacitySnapshot,
|
|
# Legacy constants
|
|
TIER_LIMITS,
|
|
)
|
|
|
|
__all__ = [
|
|
# Enums
|
|
"TierCode",
|
|
"SubscriptionStatus",
|
|
"AddOnCategory",
|
|
"BillingPeriod",
|
|
# Models
|
|
"SubscriptionTier",
|
|
"AddOnProduct",
|
|
"VendorAddOn",
|
|
"StripeWebhookEvent",
|
|
"BillingHistory",
|
|
"VendorSubscription",
|
|
"CapacitySnapshot",
|
|
# Legacy constants
|
|
"TIER_LIMITS",
|
|
]
|