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

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

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

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

# Theme schemas
from app.modules.cms.schemas.store_theme import (
    StoreThemeBranding,
    StoreThemeColors,
    StoreThemeFonts,
    StoreThemeLayout,
    StoreThemeResponse,
    StoreThemeUpdate,
    ThemeDeleteResponse,
    ThemePresetListResponse,
    ThemePresetPreview,
    ThemePresetResponse,
)

__all__ = [
    # Content Page - Admin
    "ContentPageCreate",
    "ContentPageUpdate",
    "ContentPageResponse",
    "ContentPageHomepageSectionsResponse",
    "SectionUpdateResponse",
    # Content Page - Store
    "StoreContentPageCreate",
    "StoreContentPageUpdate",
    "CMSUsageResponse",
    # Content Page - Public
    "PublicContentPageResponse",
    "ContentPageListItem",
    # Homepage Sections
    "TranslatableText",
    "HeroButton",
    "HeroSection",
    "FeatureCard",
    "FeaturesSection",
    "ProductCard",
    "ProductsSection",
    "PricingSection",
    "CTASection",
    "HomepageSections",
    "SectionUpdateRequest",
    "HomepageSectionsResponse",
    # Media
    "FailedFileInfo",
    "MediaDetailResponse",
    "MediaItemResponse",
    "MediaListResponse",
    "MediaMetadataUpdate",
    "MediaUploadResponse",
    "MediaUsageResponse",
    "MessageResponse",
    "MultipleUploadResponse",
    "OptimizationResultResponse",
    "MediaUsageItem",
    "UploadedFileInfo",
    # Image
    "ImageStorageStats",
    # Theme
    "ThemeDeleteResponse",
    "ThemePresetListResponse",
    "ThemePresetPreview",
    "ThemePresetResponse",
    "StoreThemeBranding",
    "StoreThemeColors",
    "StoreThemeFonts",
    "StoreThemeLayout",
    "StoreThemeResponse",
    "StoreThemeUpdate",
]
