Files
orion/app/modules/billing/schemas/__init__.py
Samir Boulahtit b9f08b853f refactor: clean up legacy models and migrate remaining schemas
Delete empty stub files from models/database/:
- audit.py, backup.py, configuration.py, monitoring.py
- notification.py, payment.py, search.py, task.py

Delete re-export files:
- models/database/subscription.py → app.modules.billing.models
- models/database/architecture_scan.py → app.modules.dev_tools.models
- models/database/test_run.py → app.modules.dev_tools.models
- models/schema/subscription.py → app.modules.billing.schemas
- models/schema/marketplace.py (empty)
- models/schema/monitoring.py (empty)

Migrate schemas to canonical module locations:
- billing.py → app/modules/billing/schemas/
- vendor_product.py → app/modules/catalog/schemas/
- homepage_sections.py → app/modules/cms/schemas/

Keep as CORE (framework-level, used everywhere):
- models/schema/: admin, auth, base, company, email, image, media, team, vendor*
- models/database/: admin*, base, company, email, feature, media, platform*, user, vendor*

Update 30+ files to use canonical import locations.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 18:45:46 +01:00

102 lines
2.7 KiB
Python

# app/modules/billing/schemas/__init__.py
"""
Billing module Pydantic schemas for API request/response validation.
This is the canonical location for billing schemas.
Usage:
from app.modules.billing.schemas import (
SubscriptionCreate,
SubscriptionResponse,
TierInfo,
)
"""
from app.modules.billing.schemas.subscription import (
# Tier schemas
TierFeatures,
TierLimits,
TierInfo,
# Subscription CRUD schemas
SubscriptionCreate,
SubscriptionUpdate,
SubscriptionResponse,
# Usage schemas
SubscriptionUsage,
UsageSummary,
SubscriptionStatusResponse,
# Limit check schemas
LimitCheckResult,
CanCreateOrderResponse,
CanAddProductResponse,
CanAddTeamMemberResponse,
FeatureCheckResponse,
)
from app.modules.billing.schemas.billing import (
# Subscription Tier Admin schemas
SubscriptionTierBase,
SubscriptionTierCreate,
SubscriptionTierUpdate,
SubscriptionTierResponse,
SubscriptionTierListResponse,
# Vendor Subscription schemas
VendorSubscriptionResponse,
VendorSubscriptionWithVendor,
VendorSubscriptionListResponse,
VendorSubscriptionCreate,
VendorSubscriptionUpdate,
# Billing History schemas
BillingHistoryResponse,
BillingHistoryWithVendor,
BillingHistoryListResponse,
# Checkout & Portal schemas
CheckoutRequest,
CheckoutResponse,
PortalSessionResponse,
# Stats schemas
SubscriptionStatsResponse,
)
__all__ = [
# Tier schemas (subscription.py)
"TierFeatures",
"TierLimits",
"TierInfo",
# Subscription CRUD schemas (subscription.py)
"SubscriptionCreate",
"SubscriptionUpdate",
"SubscriptionResponse",
# Usage schemas (subscription.py)
"SubscriptionUsage",
"UsageSummary",
"SubscriptionStatusResponse",
# Limit check schemas (subscription.py)
"LimitCheckResult",
"CanCreateOrderResponse",
"CanAddProductResponse",
"CanAddTeamMemberResponse",
"FeatureCheckResponse",
# Subscription Tier Admin schemas (billing.py)
"SubscriptionTierBase",
"SubscriptionTierCreate",
"SubscriptionTierUpdate",
"SubscriptionTierResponse",
"SubscriptionTierListResponse",
# Vendor Subscription schemas (billing.py)
"VendorSubscriptionResponse",
"VendorSubscriptionWithVendor",
"VendorSubscriptionListResponse",
"VendorSubscriptionCreate",
"VendorSubscriptionUpdate",
# Billing History schemas (billing.py)
"BillingHistoryResponse",
"BillingHistoryWithVendor",
"BillingHistoryListResponse",
# Checkout & Portal schemas (billing.py)
"CheckoutRequest",
"CheckoutResponse",
"PortalSessionResponse",
# Stats schemas (billing.py)
"SubscriptionStatsResponse",
]