diff --git a/app/api/main.py b/app/api/main.py
index 438a066f..41bd7708 100644
--- a/app/api/main.py
+++ b/app/api/main.py
@@ -10,7 +10,7 @@ This module provides:
from fastapi import APIRouter
-from app.api.v1 import admin, public, storefront, vendor, webhooks
+from app.api.v1 import admin, platform, storefront, vendor, webhooks
api_router = APIRouter()
@@ -37,12 +37,12 @@ api_router.include_router(vendor.router, prefix="/v1/vendor", tags=["vendor"])
api_router.include_router(storefront.router, prefix="/v1/storefront", tags=["storefront"])
# ============================================================================
-# PUBLIC ROUTES (Unauthenticated endpoints)
-# Prefix: /api/v1/public
+# PLATFORM ROUTES (Unauthenticated endpoints)
+# Prefix: /api/v1/platform
# Includes: /signup, /pricing, /letzshop-vendors, /language
# ============================================================================
-api_router.include_router(public.router, prefix="/v1/public", tags=["public"])
+api_router.include_router(platform.router, prefix="/v1/platform", tags=["platform"])
# ============================================================================
# WEBHOOK ROUTES (External service callbacks via auto-discovery)
diff --git a/app/api/v1/platform/__init__.py b/app/api/v1/platform/__init__.py
index 9a5850a8..be41bdc4 100644
--- a/app/api/v1/platform/__init__.py
+++ b/app/api/v1/platform/__init__.py
@@ -1,11 +1,11 @@
-# app/api/v1/public/__init__.py
+# app/api/v1/platform/__init__.py
"""
-Public API endpoints (no authentication required).
+Platform API endpoints (no authentication required).
Includes:
- signup: /signup/* (multi-step signup flow - cross-cutting)
-Auto-discovers and aggregates public routes from self-contained modules:
+Auto-discovers and aggregates platform routes from self-contained modules:
- billing: /pricing/* (subscription tiers and add-ons)
- marketplace: /letzshop-vendors/* (vendor lookup for signup)
- core: /language/* (language preferences)
@@ -15,16 +15,16 @@ These endpoints serve the marketing homepage, pricing pages, and signup flows.
from fastapi import APIRouter
-from app.api.v1.public import signup
-from app.modules.routes import get_public_api_routes
+from app.api.v1.platform import signup
+from app.modules.routes import get_platform_api_routes
router = APIRouter()
# Cross-cutting signup flow (spans auth, vendors, billing, payments)
-router.include_router(signup.router, tags=["public-signup"])
+router.include_router(signup.router, tags=["platform-signup"])
-# Auto-discover public routes from modules
-for route_info in get_public_api_routes():
+# Auto-discover platform routes from modules
+for route_info in get_platform_api_routes():
if route_info.custom_prefix:
router.include_router(
route_info.router,
diff --git a/app/api/v1/platform/signup.py b/app/api/v1/platform/signup.py
index ea0385e6..a1a021ea 100644
--- a/app/api/v1/platform/signup.py
+++ b/app/api/v1/platform/signup.py
@@ -1,4 +1,4 @@
-# app/api/v1/public/signup.py
+# app/api/v1/platform/signup.py
"""
Platform signup API endpoints.
diff --git a/app/modules/billing/routes/api/platform.py b/app/modules/billing/routes/api/platform.py
index 6f1370e0..ab7123c8 100644
--- a/app/modules/billing/routes/api/platform.py
+++ b/app/modules/billing/routes/api/platform.py
@@ -1,11 +1,11 @@
-# app/modules/billing/routes/api/public.py
+# app/modules/billing/routes/api/platform.py
"""
-Public pricing API endpoints.
+Platform pricing API endpoints.
Provides subscription tier and add-on product information
for the marketing homepage and signup flow.
-All endpoints are public (no authentication required).
+All endpoints are unauthenticated (no authentication required).
"""
from fastapi import APIRouter, Depends
diff --git a/app/modules/billing/routes/pages/platform.py b/app/modules/billing/routes/pages/platform.py
index a6659df8..1866ca45 100644
--- a/app/modules/billing/routes/pages/platform.py
+++ b/app/modules/billing/routes/pages/platform.py
@@ -1,8 +1,8 @@
-# app/modules/billing/routes/pages/public.py
+# app/modules/billing/routes/pages/platform.py
"""
-Billing Public Page Routes (HTML rendering).
+Billing Platform Page Routes (HTML rendering).
-Public (unauthenticated) pages for pricing and signup:
+Platform (unauthenticated) pages for pricing and signup:
- Pricing page
- Signup wizard
- Signup success
@@ -14,7 +14,7 @@ from sqlalchemy.orm import Session
from app.core.database import get_db
from app.modules.billing.models import TIER_LIMITS, TierCode
-from app.modules.core.utils.page_context import get_public_context
+from app.modules.core.utils.page_context import get_platform_context
from app.templates_config import templates
router = APIRouter()
@@ -57,12 +57,12 @@ async def pricing_page(
"""
Standalone pricing page with detailed tier comparison.
"""
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["tiers"] = _get_tiers_data()
context["page_title"] = "Pricing"
return templates.TemplateResponse(
- "billing/public/pricing.html",
+ "billing/platform/pricing.html",
context,
)
@@ -86,14 +86,14 @@ async def signup_page(
- tier: Pre-selected tier code
- annual: Pre-select annual billing
"""
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["page_title"] = "Start Your Free Trial"
context["selected_tier"] = tier
context["is_annual"] = annual
context["tiers"] = _get_tiers_data()
return templates.TemplateResponse(
- "billing/public/signup.html",
+ "billing/platform/signup.html",
context,
)
@@ -111,11 +111,11 @@ async def signup_success_page(
Shown after successful account creation.
"""
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["page_title"] = "Welcome to Wizamart!"
context["vendor_code"] = vendor_code
return templates.TemplateResponse(
- "billing/public/signup-success.html",
+ "billing/platform/signup-success.html",
context,
)
diff --git a/app/modules/billing/templates/billing/platform/pricing.html b/app/modules/billing/templates/billing/platform/pricing.html
index 0d94c005..99c963db 100644
--- a/app/modules/billing/templates/billing/platform/pricing.html
+++ b/app/modules/billing/templates/billing/platform/pricing.html
@@ -1,6 +1,6 @@
{# app/templates/platform/pricing.html #}
{# Standalone Pricing Page #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}{{ _("cms.platform.pricing.title") }} - Wizamart{% endblock %}
diff --git a/app/modules/billing/templates/billing/platform/signup-success.html b/app/modules/billing/templates/billing/platform/signup-success.html
index cf2110b0..5bef07bb 100644
--- a/app/modules/billing/templates/billing/platform/signup-success.html
+++ b/app/modules/billing/templates/billing/platform/signup-success.html
@@ -1,6 +1,6 @@
{# app/templates/platform/signup-success.html #}
{# Signup Success Page #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}{{ _("cms.platform.success.title") }}{% endblock %}
diff --git a/app/modules/billing/templates/billing/platform/signup.html b/app/modules/billing/templates/billing/platform/signup.html
index f7f47fff..e79de3e1 100644
--- a/app/modules/billing/templates/billing/platform/signup.html
+++ b/app/modules/billing/templates/billing/platform/signup.html
@@ -1,6 +1,6 @@
{# app/templates/platform/signup.html #}
{# Multi-step Signup Wizard #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}Start Your Free Trial - Wizamart{% endblock %}
@@ -321,7 +321,7 @@ function signupWizard() {
async startSignup() {
this.loading = true;
try {
- const response = await fetch('/api/v1/public/signup/start', {
+ const response = await fetch('/api/v1/platform/signup/start', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
@@ -352,7 +352,7 @@ function signupWizard() {
try {
// First lookup the vendor
- const lookupResponse = await fetch('/api/v1/public/letzshop-vendors/lookup', {
+ const lookupResponse = await fetch('/api/v1/platform/letzshop-vendors/lookup', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ url: this.letzshopUrl })
@@ -364,7 +364,7 @@ function signupWizard() {
this.letzshopVendor = lookupData.vendor;
// Claim the vendor
- const claimResponse = await fetch('/api/v1/public/signup/claim-vendor', {
+ const claimResponse = await fetch('/api/v1/platform/signup/claim-vendor', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
@@ -411,7 +411,7 @@ function signupWizard() {
this.accountError = null;
try {
- const response = await fetch('/api/v1/public/signup/create-account', {
+ const response = await fetch('/api/v1/platform/signup/create-account', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
@@ -461,7 +461,7 @@ function signupWizard() {
// Get SetupIntent
try {
- const response = await fetch('/api/v1/public/signup/setup-payment', {
+ const response = await fetch('/api/v1/platform/signup/setup-payment', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ session_id: this.sessionId })
@@ -500,7 +500,7 @@ function signupWizard() {
}
// Complete signup
- const response = await fetch('/api/v1/public/signup/complete', {
+ const response = await fetch('/api/v1/platform/signup/complete', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
diff --git a/app/modules/cms/routes/pages/platform.py b/app/modules/cms/routes/pages/platform.py
index e6b5e079..903d1580 100644
--- a/app/modules/cms/routes/pages/platform.py
+++ b/app/modules/cms/routes/pages/platform.py
@@ -1,8 +1,8 @@
-# app/modules/cms/routes/pages/public.py
+# app/modules/cms/routes/pages/platform.py
"""
-CMS Public Page Routes (HTML rendering).
+CMS Platform Page Routes (HTML rendering).
-Public (unauthenticated) pages for platform content:
+Platform (unauthenticated) pages for platform content:
- Homepage
- Generic content pages (/{slug} catch-all)
"""
@@ -16,7 +16,7 @@ from sqlalchemy.orm import Session
from app.core.database import get_db
from app.modules.billing.models import TIER_LIMITS, TierCode
from app.modules.cms.services import content_page_service
-from app.modules.core.utils.page_context import get_public_context
+from app.modules.core.utils.page_context import get_platform_context
from app.templates_config import templates
logger = logging.getLogger(__name__)
@@ -147,19 +147,19 @@ async def homepage(
if cms_homepage:
# Use CMS-based homepage with template selection
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["page"] = cms_homepage
context["tiers"] = _get_tiers_data()
template_name = cms_homepage.template or "default"
- template_path = f"cms/public/homepage-{template_name}.html"
+ template_path = f"cms/platform/homepage-{template_name}.html"
logger.info(f"[HOMEPAGE] Rendering CMS homepage with template: {template_path}")
return templates.TemplateResponse(template_path, context)
# Fallback: Default wizamart homepage (no CMS content)
logger.info("[HOMEPAGE] No CMS homepage found, using default wizamart template")
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["tiers"] = _get_tiers_data()
# Add-ons (hardcoded for now, will come from DB)
@@ -196,7 +196,7 @@ async def homepage(
]
return templates.TemplateResponse(
- "cms/public/homepage-wizamart.html",
+ "cms/platform/homepage-wizamart.html",
context,
)
@@ -231,11 +231,11 @@ async def content_page(
if not page:
raise HTTPException(status_code=404, detail=f"Page not found: {slug}")
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["page"] = page
context["page_title"] = page.title
return templates.TemplateResponse(
- "cms/public/content-page.html",
+ "cms/platform/content-page.html",
context,
)
diff --git a/app/modules/cms/templates/cms/platform/content-page.html b/app/modules/cms/templates/cms/platform/content-page.html
index 6a785c03..b4abe57b 100644
--- a/app/modules/cms/templates/cms/platform/content-page.html
+++ b/app/modules/cms/templates/cms/platform/content-page.html
@@ -1,6 +1,6 @@
{# app/templates/platform/content-page.html #}
{# Generic template for platform content pages (About, FAQ, Terms, Contact, etc.) #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}{{ page.title }} - Marketplace{% endblock %}
diff --git a/app/modules/cms/templates/cms/platform/homepage-default.html b/app/modules/cms/templates/cms/platform/homepage-default.html
index 2a48cd21..7ed85a63 100644
--- a/app/modules/cms/templates/cms/platform/homepage-default.html
+++ b/app/modules/cms/templates/cms/platform/homepage-default.html
@@ -1,6 +1,6 @@
{# app/templates/platform/homepage-default.html #}
{# Default platform homepage template with section-based rendering #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{# Import section partials #}
{% from 'platform/sections/_hero.html' import render_hero %}
diff --git a/app/modules/cms/templates/cms/platform/homepage-minimal.html b/app/modules/cms/templates/cms/platform/homepage-minimal.html
index 5ded043f..a8e75d0e 100644
--- a/app/modules/cms/templates/cms/platform/homepage-minimal.html
+++ b/app/modules/cms/templates/cms/platform/homepage-minimal.html
@@ -1,6 +1,6 @@
{# app/templates/platform/homepage-minimal.html #}
{# Minimal/clean platform homepage template #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}
{% if page %}{{ page.title }}{% else %}Home{% endif %} - Marketplace
diff --git a/app/modules/cms/templates/cms/platform/homepage-modern.html b/app/modules/cms/templates/cms/platform/homepage-modern.html
index 9e0bb9c9..f9804930 100644
--- a/app/modules/cms/templates/cms/platform/homepage-modern.html
+++ b/app/modules/cms/templates/cms/platform/homepage-modern.html
@@ -1,6 +1,6 @@
{# app/templates/platform/homepage-modern.html #}
{# Wizamart OMS - Luxembourg-focused homepage inspired by Veeqo #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}
Wizamart - The Back-Office for Letzshop Sellers
diff --git a/app/modules/cms/templates/cms/platform/homepage-wizamart.html b/app/modules/cms/templates/cms/platform/homepage-wizamart.html
index 1a5075da..c73eb4c5 100644
--- a/app/modules/cms/templates/cms/platform/homepage-wizamart.html
+++ b/app/modules/cms/templates/cms/platform/homepage-wizamart.html
@@ -1,6 +1,6 @@
{# app/templates/platform/homepage-wizamart.html #}
{# Wizamart Marketing Homepage - Letzshop OMS Platform #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% from 'shared/macros/inputs.html' import toggle_switch %}
{% block title %}Wizamart - Order Management for Letzshop Sellers{% endblock %}
@@ -407,7 +407,7 @@ function homepageData() {
this.vendorResult = null;
try {
- const response = await fetch('/api/v1/public/letzshop-vendors/lookup', {
+ const response = await fetch('/api/v1/platform/letzshop-vendors/lookup', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ url: this.shopUrl })
diff --git a/app/modules/core/routes/api/platform.py b/app/modules/core/routes/api/platform.py
index a7bb2a41..10d06190 100644
--- a/app/modules/core/routes/api/platform.py
+++ b/app/modules/core/routes/api/platform.py
@@ -1,13 +1,13 @@
-# app/modules/core/routes/api/public.py
+# app/modules/core/routes/api/platform.py
"""
-Public language API endpoints.
+Platform language API endpoints.
Handles:
- Setting language preference via cookie
- Getting current language info
- Listing available languages
-All endpoints are public (no authentication required).
+All endpoints are unauthenticated (no authentication required).
"""
import logging
diff --git a/app/modules/core/utils/__init__.py b/app/modules/core/utils/__init__.py
index d27fae7e..89860b0b 100644
--- a/app/modules/core/utils/__init__.py
+++ b/app/modules/core/utils/__init__.py
@@ -5,12 +5,12 @@ from .page_context import (
get_admin_context,
get_vendor_context,
get_storefront_context,
- get_public_context,
+ get_platform_context,
)
__all__ = [
"get_admin_context",
"get_vendor_context",
"get_storefront_context",
- "get_public_context",
+ "get_platform_context",
]
diff --git a/app/modules/core/utils/page_context.py b/app/modules/core/utils/page_context.py
index cb6f07fd..7d67f06d 100644
--- a/app/modules/core/utils/page_context.py
+++ b/app/modules/core/utils/page_context.py
@@ -253,13 +253,13 @@ def get_storefront_context(
return context
-def get_public_context(
+def get_platform_context(
request: Request,
db: Session,
**extra_context,
) -> dict:
"""
- Build context for public/marketing pages.
+ Build context for platform/marketing pages.
Includes platform info, i18n globals, and CMS navigation pages.
diff --git a/app/modules/loyalty/routes/api/platform.py b/app/modules/loyalty/routes/api/platform.py
index a5294aeb..bd5319e8 100644
--- a/app/modules/loyalty/routes/api/platform.py
+++ b/app/modules/loyalty/routes/api/platform.py
@@ -1,8 +1,8 @@
-# app/modules/loyalty/routes/api/public.py
+# app/modules/loyalty/routes/api/platform.py
"""
-Loyalty module public routes.
+Loyalty module platform routes.
-Public endpoints for:
+Platform endpoints for:
- Customer enrollment (by vendor code)
- Apple Wallet pass download
- Apple Web Service endpoints for device registration/updates
@@ -29,8 +29,8 @@ from app.modules.loyalty.services import (
logger = logging.getLogger(__name__)
-# Public router (no auth required for some endpoints)
-public_router = APIRouter(prefix="/loyalty")
+# Platform router (no auth required for some endpoints)
+platform_router = APIRouter(prefix="/loyalty")
# =============================================================================
@@ -38,7 +38,7 @@ public_router = APIRouter(prefix="/loyalty")
# =============================================================================
-@public_router.get("/programs/{vendor_code}")
+@platform_router.get("/programs/{vendor_code}")
def get_program_by_vendor_code(
vendor_code: str = Path(..., min_length=1, max_length=50),
db: Session = Depends(get_db),
@@ -85,7 +85,7 @@ def get_program_by_vendor_code(
# =============================================================================
-@public_router.get("/passes/apple/{serial_number}.pkpass")
+@platform_router.get("/passes/apple/{serial_number}.pkpass")
def download_apple_pass(
serial_number: str = Path(...),
db: Session = Depends(get_db),
@@ -122,7 +122,7 @@ def download_apple_pass(
# =============================================================================
-@public_router.post("/apple/v1/devices/{device_id}/registrations/{pass_type_id}/{serial_number}")
+@platform_router.post("/apple/v1/devices/{device_id}/registrations/{pass_type_id}/{serial_number}")
def register_device(
device_id: str = Path(...),
pass_type_id: str = Path(...),
@@ -165,7 +165,7 @@ def register_device(
raise HTTPException(status_code=500)
-@public_router.delete("/apple/v1/devices/{device_id}/registrations/{pass_type_id}/{serial_number}")
+@platform_router.delete("/apple/v1/devices/{device_id}/registrations/{pass_type_id}/{serial_number}")
def unregister_device(
device_id: str = Path(...),
pass_type_id: str = Path(...),
@@ -205,7 +205,7 @@ def unregister_device(
raise HTTPException(status_code=500)
-@public_router.get("/apple/v1/devices/{device_id}/registrations/{pass_type_id}")
+@platform_router.get("/apple/v1/devices/{device_id}/registrations/{pass_type_id}")
def get_serial_numbers(
device_id: str = Path(...),
pass_type_id: str = Path(...),
@@ -256,7 +256,7 @@ def get_serial_numbers(
}
-@public_router.get("/apple/v1/passes/{pass_type_id}/{serial_number}")
+@platform_router.get("/apple/v1/passes/{pass_type_id}/{serial_number}")
def get_latest_pass(
pass_type_id: str = Path(...),
serial_number: str = Path(...),
@@ -302,7 +302,7 @@ def get_latest_pass(
)
-@public_router.post("/apple/v1/log")
+@platform_router.post("/apple/v1/log")
def log_errors():
"""
Receive error logs from Apple.
diff --git a/app/modules/marketplace/routes/api/platform.py b/app/modules/marketplace/routes/api/platform.py
index 729b42a5..01a10674 100644
--- a/app/modules/marketplace/routes/api/platform.py
+++ b/app/modules/marketplace/routes/api/platform.py
@@ -1,11 +1,11 @@
-# app/modules/marketplace/routes/api/public.py
+# app/modules/marketplace/routes/api/platform.py
"""
-Public Letzshop vendor lookup API endpoints.
+Platform Letzshop vendor lookup API endpoints.
Allows potential vendors to find themselves in the Letzshop marketplace
and claim their shop during signup.
-All endpoints are public (no authentication required).
+All endpoints are unauthenticated (no authentication required).
"""
import logging
diff --git a/app/modules/marketplace/routes/pages/platform.py b/app/modules/marketplace/routes/pages/platform.py
index 4d18fcc6..9da249a4 100644
--- a/app/modules/marketplace/routes/pages/platform.py
+++ b/app/modules/marketplace/routes/pages/platform.py
@@ -1,8 +1,8 @@
-# app/modules/marketplace/routes/pages/public.py
+# app/modules/marketplace/routes/pages/platform.py
"""
-Marketplace Public Page Routes (HTML rendering).
+Marketplace Platform Page Routes (HTML rendering).
-Public (unauthenticated) pages:
+Platform (unauthenticated) pages:
- Find shop (Letzshop vendor browser)
"""
@@ -11,7 +11,7 @@ from fastapi.responses import HTMLResponse
from sqlalchemy.orm import Session
from app.core.database import get_db
-from app.modules.core.utils.page_context import get_public_context
+from app.modules.core.utils.page_context import get_platform_context
from app.templates_config import templates
router = APIRouter()
@@ -32,10 +32,10 @@ async def find_shop_page(
Allows vendors to search for and claim their Letzshop shop.
"""
- context = get_public_context(request, db)
+ context = get_platform_context(request, db)
context["page_title"] = "Find Your Letzshop Shop"
return templates.TemplateResponse(
- "marketplace/public/find-shop.html",
+ "marketplace/platform/find-shop.html",
context,
)
diff --git a/app/modules/marketplace/templates/marketplace/platform/find-shop.html b/app/modules/marketplace/templates/marketplace/platform/find-shop.html
index e263e737..4b3f1bc4 100644
--- a/app/modules/marketplace/templates/marketplace/platform/find-shop.html
+++ b/app/modules/marketplace/templates/marketplace/platform/find-shop.html
@@ -1,6 +1,6 @@
{# app/modules/marketplace/templates/marketplace/public/find-shop.html #}
{# Letzshop Vendor Finder Page #}
-{% extends "public/base.html" %}
+{% extends "platform/base.html" %}
{% block title %}{{ _("cms.platform.find_shop.title") }} - Wizamart{% endblock %}
@@ -151,7 +151,7 @@ function vendorFinderData() {
this.result = null;
try {
- const response = await fetch('/api/v1/public/letzshop-vendors/lookup', {
+ const response = await fetch('/api/v1/platform/letzshop-vendors/lookup', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ url: this.searchQuery })
diff --git a/app/modules/routes.py b/app/modules/routes.py
index 681d3e4f..fbd9e15a 100644
--- a/app/modules/routes.py
+++ b/app/modules/routes.py
@@ -183,9 +183,9 @@ def _discover_routes_in_dir(
"pages_prefix": "/storefront",
"include_in_schema": True if route_type == "api" else False,
},
- "public": {
- "api_prefix": "/api/v1/public",
- "pages_prefix": "/public",
+ "platform": {
+ "api_prefix": "/api/v1/platform",
+ "pages_prefix": "/platform",
"include_in_schema": True,
},
"webhooks": {
@@ -335,16 +335,16 @@ def get_storefront_api_routes() -> list[RouteInfo]:
return sorted(routes, key=lambda r: r.priority)
-def get_public_api_routes() -> list[RouteInfo]:
+def get_platform_api_routes() -> list[RouteInfo]:
"""
- Get public API routes from modules, sorted by priority.
+ Get platform API routes from modules, sorted by priority.
- Public routes are unauthenticated endpoints for marketing pages,
+ Platform routes are unauthenticated endpoints for marketing pages,
pricing info, and other public-facing features.
"""
routes = [
r for r in discover_module_routes()
- if r.route_type == "api" and r.frontend == "public"
+ if r.route_type == "api" and r.frontend == "platform"
]
return sorted(routes, key=lambda r: r.priority)
@@ -363,11 +363,11 @@ def get_webhooks_api_routes() -> list[RouteInfo]:
return sorted(routes, key=lambda r: r.priority)
-def get_public_page_routes() -> list[RouteInfo]:
+def get_platform_page_routes() -> list[RouteInfo]:
"""
- Get public (marketing) page routes from modules, sorted by priority.
+ Get platform (marketing) page routes from modules, sorted by priority.
- Public pages are unauthenticated marketing pages like:
+ Platform pages are unauthenticated marketing pages like:
- Homepage (/)
- Pricing (/pricing)
- Signup (/signup)
@@ -379,7 +379,7 @@ def get_public_page_routes() -> list[RouteInfo]:
"""
routes = [
r for r in discover_module_routes()
- if r.route_type == "pages" and r.frontend == "public"
+ if r.route_type == "pages" and r.frontend == "platform"
]
return sorted(routes, key=lambda r: r.priority)
@@ -414,8 +414,8 @@ __all__ = [
"get_admin_api_routes",
"get_vendor_api_routes",
"get_storefront_api_routes",
- "get_public_api_routes",
+ "get_platform_api_routes",
"get_webhooks_api_routes",
- "get_public_page_routes",
+ "get_platform_page_routes",
"get_storefront_page_routes",
]
diff --git a/app/modules/tenancy/templates/tenancy/admin/login.html b/app/modules/tenancy/templates/tenancy/admin/login.html
index 146d8f99..08c999f1 100644
--- a/app/modules/tenancy/templates/tenancy/admin/login.html
+++ b/app/modules/tenancy/templates/tenancy/admin/login.html
@@ -135,6 +135,6 @@
-
+