"""统一导出所有模型，供 Alembic autogenerate 发现"""
from app.core.models.base import Base, TimestampMixin, TenantMixin
from app.core.models.tenant import Tenant
from app.core.models.storage_profile import StorageProfile
from app.core.models.ai_profile import AiProfile
from app.core.models.ai_call_log import AiCallLog
from app.core.models.user import User
from app.core.models.customer import Customer
from app.core.models.customer_address import CustomerAddress
from app.core.models.member import MemberLevel, MemberPointsLedger
from app.core.models.brand import Brand
from app.core.models.category import Category
from app.core.models.product_template import ProductTemplate, TemplateCollection, TemplateImage, TemplateVariant, TemplateSource
from app.core.models.stock_status import StockStatus
from app.core.models.product import Product, ProductImage, ProductVariant
from app.core.models.order import Order, OrderItem
from app.core.models.payment import Payment
from app.core.models.shipping_carrier import ShippingCarrier
from app.core.models.shipping_zone import ShippingZone
from app.core.models.shipping import ShippingMethod
from app.core.models.shipping_rate_tier import ShippingRateTier
from app.core.models.shipping_surcharge import ShippingSurcharge
from app.core.models.discount import Discount
from app.core.models.plugin import PluginConfig
from app.core.models.plugin_activation_request import PluginActivationRequest
from app.core.models.seo import SeoRedirect
from app.core.models.task import AsyncTaskLog, AiTaskItem
from app.core.models.theme_settings import ThemeSettings
from app.core.models.email_log import EmailLog
from app.core.models.email_template import EmailTemplate
from app.core.models.wallet import CustomerWallet, WalletTransaction
from app.core.models.payment_gateway import PaymentGateway
from app.core.models.tenant_channel import TenantChannel
from app.core.models.customer_oauth import CustomerOAuthAccount
from app.core.models.newsletter_subscription import NewsletterSubscription
from app.core.models.permission import (
    AdminRole,
    AdminRolePermission,
    AdminUserPermissionOverride,
    AdminUserRole,
)
from app.plugins.contact_forms.models import (
    ContactForm, ContactFormField, ContactFormSubmission, ContactFormReply
)
from app.plugins.tax.models import TaxClass, TaxRate, TaxSettings
from app.plugins.cin7_import.models import Cin7SyncState, Cin7EntityMap, Cin7SyncLog
from app.plugins.advanced_shipping_rules.models import (
    AdvancedShippingRule, AdvancedShippingRuleRevision, AdvancedShippingRuleHide,
    AdvancedShippingShadowEvent, AdvancedShippingSettings,
)

__all__ = [
    "Base", "TimestampMixin", "TenantMixin",
    "Tenant", "StorageProfile", "AiProfile", "AiCallLog", "User", "Customer", "CustomerAddress",
    "MemberLevel", "MemberPointsLedger",
    "Brand",
    "Category",
    "ProductTemplate", "TemplateCollection", "TemplateImage", "TemplateVariant", "TemplateSource",
    "StockStatus",
    "Product", "ProductImage", "ProductVariant",
    "Order", "OrderItem",
    "Payment",
    "ShippingCarrier", "ShippingZone", "ShippingMethod",
    "ShippingRateTier", "ShippingSurcharge",
    "Discount",
    "PluginConfig",
    "PluginActivationRequest",
    "SeoRedirect",
    "AsyncTaskLog", "AiTaskItem",
    "ThemeSettings",
    "EmailLog",
    "EmailTemplate",
    "CustomerWallet", "WalletTransaction",
    "PaymentGateway",
    "TenantChannel",
    "CustomerOAuthAccount",
    "NewsletterSubscription",
    "AdminRole", "AdminRolePermission", "AdminUserRole", "AdminUserPermissionOverride",
    "TaxClass", "TaxRate", "TaxSettings",
    "Cin7SyncState", "Cin7EntityMap", "Cin7SyncLog",
    "ContactForm", "ContactFormField", "ContactFormSubmission", "ContactFormReply",
    "AdvancedShippingRule", "AdvancedShippingRuleRevision", "AdvancedShippingRuleHide",
    "AdvancedShippingShadowEvent", "AdvancedShippingSettings",
]
