# app/modules/cms/schemas/__init__.py
"""
CMS module Pydantic schemas for API request/response validation.
"""

from app.modules.cms.schemas.content_page import (
    # Admin schemas
    ContentPageCreate,
    ContentPageUpdate,
    ContentPageResponse,
    HomepageSectionsResponse as ContentPageHomepageSectionsResponse,
    SectionUpdateResponse,
    # Vendor schemas
    VendorContentPageCreate,
    VendorContentPageUpdate,
    CMSUsageResponse,
    # Public/Shop schemas
    PublicContentPageResponse,
    ContentPageListItem,
)
from app.modules.cms.schemas.homepage_sections import (
    # Translatable text
    TranslatableText,
    # Section components
    HeroButton,
    HeroSection,
    FeatureCard,
    FeaturesSection,
    PricingSection,
    CTASection,
    # Main structure
    HomepageSections,
    # API schemas
    SectionUpdateRequest,
    HomepageSectionsResponse,
)

# Media schemas
from app.modules.cms.schemas.media import (
    FailedFileInfo,
    MediaDetailResponse,
    MediaItemResponse,
    MediaListResponse,
    MediaMetadataUpdate,
    MediaUploadResponse,
    MediaUsageResponse,
    MessageResponse,
    MultipleUploadResponse,
    OptimizationResultResponse,
    ProductUsageInfo,
    UploadedFileInfo,
)

# Image schemas
from app.modules.cms.schemas.image import (
    ImageDeleteResponse,
    ImageStorageStats,
    ImageUploadResponse,
    ImageUrls,
)

# Theme schemas
from app.modules.cms.schemas.vendor_theme import (
    ThemeDeleteResponse,
    ThemePresetListResponse,
    ThemePresetPreview,
    ThemePresetResponse,
    VendorThemeBranding,
    VendorThemeColors,
    VendorThemeFonts,
    VendorThemeLayout,
    VendorThemeResponse,
    VendorThemeUpdate,
)

__all__ = [
    # Content Page - Admin
    "ContentPageCreate",
    "ContentPageUpdate",
    "ContentPageResponse",
    "ContentPageHomepageSectionsResponse",
    "SectionUpdateResponse",
    # Content Page - Vendor
    "VendorContentPageCreate",
    "VendorContentPageUpdate",
    "CMSUsageResponse",
    # Content Page - Public
    "PublicContentPageResponse",
    "ContentPageListItem",
    # Homepage Sections
    "TranslatableText",
    "HeroButton",
    "HeroSection",
    "FeatureCard",
    "FeaturesSection",
    "PricingSection",
    "CTASection",
    "HomepageSections",
    "SectionUpdateRequest",
    "HomepageSectionsResponse",
    # Media
    "FailedFileInfo",
    "MediaDetailResponse",
    "MediaItemResponse",
    "MediaListResponse",
    "MediaMetadataUpdate",
    "MediaUploadResponse",
    "MediaUsageResponse",
    "MessageResponse",
    "MultipleUploadResponse",
    "OptimizationResultResponse",
    "ProductUsageInfo",
    "UploadedFileInfo",
    # Image
    "ImageDeleteResponse",
    "ImageStorageStats",
    "ImageUploadResponse",
    "ImageUrls",
    # Theme
    "ThemeDeleteResponse",
    "ThemePresetListResponse",
    "ThemePresetPreview",
    "ThemePresetResponse",
    "VendorThemeBranding",
    "VendorThemeColors",
    "VendorThemeFonts",
    "VendorThemeLayout",
    "VendorThemeResponse",
    "VendorThemeUpdate",
]
