refactor: rename shop to storefront throughout codebase

Rename "shop" to "storefront" as not all platforms sell items -
storefront is a more accurate term for the customer-facing interface.

Changes:
- Rename app/api/v1/shop/ → app/api/v1/storefront/
- Rename app/routes/shop_pages.py → app/routes/storefront_pages.py
- Rename app/modules/cms/routes/api/shop.py → storefront.py
- Rename tests/integration/api/v1/shop/ → storefront/
- Update API prefix from /api/v1/shop to /api/v1/storefront
- Update route tags from shop-* to storefront-*
- Rename get_shop_context() → get_storefront_context()
- Update architecture rules to reference storefront paths
- Update all test API endpoint paths

This is Phase 2 of the storefront module restructure plan.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-29 22:42:01 +01:00
parent 228163d920
commit 3e86d4b58b
20 changed files with 140 additions and 134 deletions

26
main.py
View File

@@ -62,7 +62,7 @@ from app.exceptions import ServiceUnavailableException
from app.exceptions.handler import setup_exception_handlers
# Import page routers (legacy routes - will be migrated to modules)
from app.routes import admin_pages, platform_pages, shop_pages, vendor_pages
from app.routes import admin_pages, platform_pages, storefront_pages, vendor_pages
# Module route auto-discovery
from app.modules.routes import discover_module_routes, get_vendor_page_routes
@@ -366,20 +366,20 @@ for route_info in vendor_page_routes:
)
# Customer shop pages - Register at TWO prefixes:
# 1. /shop/* (for subdomain/custom domain modes)
# 2. /vendors/{code}/shop/* (for path-based development mode)
logger.info("Registering shop page routes:")
logger.info(" - /shop/* (subdomain/custom domain mode)")
logger.info(" - /vendors/{code}/shop/* (path-based development mode)")
# 1. /storefront/* (for subdomain/custom domain modes)
# 2. /vendors/{code}/storefront/* (for path-based development mode)
logger.info("Registering storefront page routes:")
logger.info(" - /storefront/* (subdomain/custom domain mode)")
logger.info(" - /vendors/{code}/storefront/* (path-based development mode)")
app.include_router(
shop_pages.router, prefix="/shop", tags=["shop-pages"], include_in_schema=False
storefront_pages.router, prefix="/storefront", tags=["storefront-pages"], include_in_schema=False
)
app.include_router(
shop_pages.router,
prefix="/vendors/{vendor_code}/shop",
tags=["shop-pages"],
storefront_pages.router,
prefix="/vendors/{vendor_code}/storefront",
tags=["storefront-pages"],
include_in_schema=False,
)
@@ -399,7 +399,7 @@ async def vendor_root_path(
if not vendor:
raise HTTPException(status_code=404, detail=f"Vendor '{vendor_code}' not found")
from app.routes.shop_pages import get_shop_context
from app.routes.storefront_pages import get_storefront_context
from app.modules.cms.services import content_page_service
# Get platform_id (use platform from context or default to 1 for OMS)
@@ -421,10 +421,10 @@ async def vendor_root_path(
template_path = f"vendor/landing-{template_name}.html"
return templates.TemplateResponse(
template_path, get_shop_context(request, db=db, page=landing_page)
template_path, get_storefront_context(request, db=db, page=landing_page)
)
# No landing page - redirect to shop
return RedirectResponse(url=f"/vendors/{vendor_code}/shop/", status_code=302)
return RedirectResponse(url=f"/vendors/{vendor_code}/storefront/", status_code=302)
# ============================================================================