# app/modules/cms/__init__.py """ CMS Module - Content Management System. This is a SELF-CONTAINED module that includes: - Services: content_page_service (business logic) - Models: ContentPage (database model) - Exceptions: ContentPageNotFoundException, etc. This module provides: - Content pages management (three-tier: platform, store default, store override) - Media library - Store themes - SEO tools Routes: - Admin: /api/v1/admin/content-pages/* - Store: /api/v1/store/content-pages/*, /api/v1/store/media/* Menu Items: - Admin: content-pages, store-themes - Store: content-pages, media Usage: from app.modules.cms.services import content_page_service from app.modules.cms.models import ContentPage from app.modules.cms.exceptions import ContentPageNotFoundException """ # NOTE: Do NOT import cms_module at top level to avoid circular import. # The circular import chain is: # models.database -> model discovery -> app.modules.cms.models # -> app.modules.cms.__init__ -> cms_module -> app.modules.base # -> models.database.admin_menu_config (partial) # # Use lazy import instead: # from app.modules.cms.definition import cms_module def get_cms_module(): """Lazy getter for cms_module to avoid circular imports.""" from app.modules.cms.definition import cms_module return cms_module __all__ = ["get_cms_module"]