Some checks failed
- Pin ruff==0.8.4 in requirements-dev.txt (was >=0.8.4, CI got newer version with different import sorting rules) - Add ruff to .pre-commit-config.yaml with --fix to auto-sort imports on commit (prevents PyCharm import reordering from reaching CI) - Fix I001 import sorting in 6 files - Fix F401 unused import (sqlalchemy.Numeric in subscription.py) - Fix noqa false positive in validate_architecture.py comment Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
165 lines
4.9 KiB
Python
165 lines
4.9 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 (
|
|
MerchantSubscriptionCreate,
|
|
MerchantSubscriptionResponse,
|
|
TierInfo,
|
|
)
|
|
"""
|
|
|
|
from app.modules.billing.schemas.billing import (
|
|
BillingHistoryListResponse,
|
|
# Billing History schemas
|
|
BillingHistoryResponse,
|
|
BillingHistoryWithMerchant,
|
|
# Store Checkout schemas
|
|
CancelRequest,
|
|
CancelResponse,
|
|
CategoryListResponse,
|
|
# Checkout & Portal schemas
|
|
CheckoutRequest,
|
|
CheckoutResponse,
|
|
FeatureCatalogResponse,
|
|
FeatureCodeListResponse,
|
|
# Feature Catalog schemas
|
|
FeatureDeclarationResponse,
|
|
FeatureDetailResponse,
|
|
FeatureGroupedResponse,
|
|
FeatureListResponse,
|
|
FeatureResponse,
|
|
InvoiceListResponse,
|
|
InvoiceResponse,
|
|
# Merchant Feature Override schemas
|
|
MerchantFeatureOverrideEntry,
|
|
MerchantFeatureOverrideResponse,
|
|
MerchantSubscriptionAdminCreate,
|
|
# Merchant Subscription Admin schemas
|
|
MerchantSubscriptionAdminResponse,
|
|
MerchantSubscriptionAdminUpdate,
|
|
MerchantSubscriptionListResponse,
|
|
MerchantSubscriptionWithMerchant,
|
|
PortalResponse,
|
|
PortalSessionResponse,
|
|
StoreFeatureCheckResponse,
|
|
# Stats schemas
|
|
SubscriptionStatsResponse,
|
|
SubscriptionStatusResponse,
|
|
SubscriptionTierBase,
|
|
SubscriptionTierCreate,
|
|
SubscriptionTierListResponse,
|
|
SubscriptionTierResponse,
|
|
SubscriptionTierUpdate,
|
|
# Subscription Tier Admin schemas
|
|
TierFeatureLimitEntry,
|
|
TierListResponse,
|
|
TierResponse,
|
|
UpcomingInvoiceResponse,
|
|
)
|
|
from app.modules.billing.schemas.billing import (
|
|
ChangeTierRequest as BillingChangeTierRequest,
|
|
)
|
|
from app.modules.billing.schemas.billing import (
|
|
ChangeTierResponse as BillingChangeTierResponse,
|
|
)
|
|
from app.modules.billing.schemas.subscription import (
|
|
ChangeTierRequest,
|
|
ChangeTierResponse,
|
|
FeatureCheckResponse,
|
|
# Feature summary schemas
|
|
FeatureSummaryResponse,
|
|
# Limit check schemas
|
|
LimitCheckResult,
|
|
MerchantPortalAvailableTiersResponse,
|
|
MerchantPortalInvoiceListResponse,
|
|
MerchantPortalSubscriptionDetailResponse,
|
|
# Merchant portal schemas
|
|
MerchantPortalSubscriptionItem,
|
|
MerchantPortalSubscriptionListResponse,
|
|
# Subscription schemas
|
|
MerchantSubscriptionCreate,
|
|
MerchantSubscriptionResponse,
|
|
MerchantSubscriptionStatusResponse,
|
|
MerchantSubscriptionUpdate,
|
|
# Tier schemas
|
|
TierFeatureLimitResponse,
|
|
TierInfo,
|
|
)
|
|
|
|
__all__ = [
|
|
# Tier schemas (subscription.py)
|
|
"TierFeatureLimitResponse",
|
|
"TierInfo",
|
|
# Subscription schemas (subscription.py)
|
|
"MerchantSubscriptionCreate",
|
|
"MerchantSubscriptionUpdate",
|
|
"MerchantSubscriptionResponse",
|
|
"MerchantSubscriptionStatusResponse",
|
|
# Feature summary schemas (subscription.py)
|
|
"FeatureSummaryResponse",
|
|
# Limit check schemas (subscription.py)
|
|
"LimitCheckResult",
|
|
"FeatureCheckResponse",
|
|
# Merchant portal schemas (subscription.py)
|
|
"MerchantPortalSubscriptionItem",
|
|
"MerchantPortalSubscriptionListResponse",
|
|
"MerchantPortalSubscriptionDetailResponse",
|
|
"MerchantPortalAvailableTiersResponse",
|
|
"ChangeTierRequest",
|
|
"ChangeTierResponse",
|
|
"MerchantPortalInvoiceListResponse",
|
|
# Subscription Tier Admin schemas (billing.py)
|
|
"TierFeatureLimitEntry",
|
|
"SubscriptionTierBase",
|
|
"SubscriptionTierCreate",
|
|
"SubscriptionTierUpdate",
|
|
"SubscriptionTierResponse",
|
|
"SubscriptionTierListResponse",
|
|
# Merchant Subscription Admin schemas (billing.py)
|
|
"MerchantSubscriptionAdminResponse",
|
|
"MerchantSubscriptionWithMerchant",
|
|
"MerchantSubscriptionListResponse",
|
|
"MerchantSubscriptionAdminCreate",
|
|
"MerchantSubscriptionAdminUpdate",
|
|
# Merchant Feature Override schemas (billing.py)
|
|
"MerchantFeatureOverrideEntry",
|
|
"MerchantFeatureOverrideResponse",
|
|
# Billing History schemas (billing.py)
|
|
"BillingHistoryResponse",
|
|
"BillingHistoryWithMerchant",
|
|
"BillingHistoryListResponse",
|
|
# Checkout & Portal schemas (billing.py)
|
|
"CheckoutRequest",
|
|
"CheckoutResponse",
|
|
"PortalSessionResponse",
|
|
"PortalResponse",
|
|
"CancelRequest",
|
|
"CancelResponse",
|
|
"UpcomingInvoiceResponse",
|
|
"BillingChangeTierRequest",
|
|
"BillingChangeTierResponse",
|
|
# Store subscription schemas (billing.py)
|
|
"SubscriptionStatusResponse",
|
|
"TierResponse",
|
|
"TierListResponse",
|
|
"InvoiceResponse",
|
|
"InvoiceListResponse",
|
|
# Store feature schemas (billing.py)
|
|
"FeatureCodeListResponse",
|
|
"FeatureResponse",
|
|
"FeatureListResponse",
|
|
"FeatureDetailResponse",
|
|
"CategoryListResponse",
|
|
"FeatureGroupedResponse",
|
|
"StoreFeatureCheckResponse",
|
|
# Stats schemas (billing.py)
|
|
"SubscriptionStatsResponse",
|
|
# Feature Catalog schemas (billing.py)
|
|
"FeatureDeclarationResponse",
|
|
"FeatureCatalogResponse",
|
|
]
|