# app/modules/marketplace/__init__.py
"""
Marketplace Module - Letzshop integration.

This module provides:
- Product import from marketplace CSV feeds
- Order import from Letzshop API
- Store directory synchronization
- Product export to Letzshop CSV format
- Scheduled sync tasks

Dependencies:
- Requires: inventory module (for product management)

Routes:
- Admin: /api/v1/admin/marketplace/*, /api/v1/admin/letzshop/*
- Store: /api/v1/store/marketplace/*, /api/v1/store/letzshop/*

Menu Items:
- Admin: marketplace-letzshop
- Store: marketplace, letzshop

Usage:
    from app.modules.marketplace import marketplace_module
    from app.modules.marketplace.services import letzshop_export_service
    from app.modules.marketplace.models import MarketplaceProduct
    from app.modules.marketplace.exceptions import LetzshopClientError
"""

# Lazy imports to avoid circular dependencies
# Routers and module definition are imported on-demand

__all__ = [
    "marketplace_module",
    "get_marketplace_module_with_routers",
]


def __getattr__(name: str):
    """Lazy import to avoid circular dependencies."""
    if name == "marketplace_module":
        from app.modules.marketplace.definition import marketplace_module
        return marketplace_module
    if name == "get_marketplace_module_with_routers":
        from app.modules.marketplace.definition import (
            get_marketplace_module_with_routers,
        )
        return get_marketplace_module_with_routers
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
