# models/database/__init__.py
"""Database models package."""

from .admin import (
    AdminAuditLog,
    AdminNotification,
    AdminSession,
    AdminSetting,
    PlatformAlert,
)
from .architecture_scan import (
    ArchitectureScan,
    ArchitectureViolation,
    ViolationAssignment,
    ViolationComment,
)
from .base import Base
from .company import Company
from .content_page import ContentPage
from .customer import Customer, CustomerAddress
from .inventory import Inventory
from .letzshop import (
    LetzshopFulfillmentQueue,
    LetzshopHistoricalImportJob,
    LetzshopSyncLog,
    VendorLetzshopCredentials,
)
from .marketplace_import_job import MarketplaceImportError, MarketplaceImportJob
from .marketplace_product import (
    DigitalDeliveryMethod,
    MarketplaceProduct,
    ProductType,
)
from .marketplace_product_translation import MarketplaceProductTranslation
from .order import Order, OrderItem
from .order_item_exception import OrderItemException
from .product import Product
from .product_translation import ProductTranslation
from .test_run import TestCollection, TestResult, TestRun
from .user import User
from .vendor import Role, Vendor, VendorUser
from .vendor_domain import VendorDomain
from .vendor_theme import VendorTheme

__all__ = [
    # Admin-specific models
    "AdminAuditLog",
    "AdminNotification",
    "AdminSetting",
    "PlatformAlert",
    "AdminSession",
    # Architecture/Code Quality
    "ArchitectureScan",
    "ArchitectureViolation",
    "ViolationAssignment",
    "ViolationComment",
    # Test Runs
    "TestRun",
    "TestResult",
    "TestCollection",
    # Base
    "Base",
    # User & Auth
    "User",
    # Company & Vendor
    "Company",
    "Vendor",
    "VendorUser",
    "Role",
    "VendorDomain",
    "VendorTheme",
    # Content
    "ContentPage",
    # Customer
    "Customer",
    "CustomerAddress",
    # Product - Enums
    "ProductType",
    "DigitalDeliveryMethod",
    # Product - Models
    "MarketplaceProduct",
    "MarketplaceProductTranslation",
    "Product",
    "ProductTranslation",
    # Import
    "MarketplaceImportJob",
    "MarketplaceImportError",
    # Inventory
    "Inventory",
    # Orders
    "Order",
    "OrderItem",
    "OrderItemException",
    # Letzshop Integration
    "VendorLetzshopCredentials",
    "LetzshopFulfillmentQueue",
    "LetzshopSyncLog",
    "LetzshopHistoricalImportJob",
]
