refactor: rename Wizamart to Orion across entire codebase

Replace all ~1,086 occurrences of Wizamart/wizamart/WIZAMART/WizaMart
with Orion/orion/ORION across 184 files. This includes database
identifiers, email addresses, domain references, R2 bucket names,
DNS prefixes, encryption salt, Celery app name, config defaults,
Docker configs, CI configs, documentation, seed data, and templates.

Renames homepage-wizamart.html template to homepage-orion.html.
Fixes duplicate file_pattern key in api.yaml architecture rule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-14 16:46:56 +01:00
parent 34ee7bb7ad
commit e9253fbd84
184 changed files with 1227 additions and 1228 deletions

View File

@@ -1,6 +1,6 @@
# app/core/celery_config.py
"""
Celery configuration for Wizamart background task processing.
Celery configuration for Orion background task processing.
This module configures Celery with Redis as the broker and result backend.
It includes:
@@ -66,7 +66,7 @@ def get_all_task_modules() -> list[str]:
# Create Celery application
celery_app = Celery(
"wizamart",
"orion",
broker=REDIS_URL,
backend=REDIS_URL,
include=get_all_task_modules(),

View File

@@ -27,7 +27,7 @@ class Settings(BaseSettings):
# =============================================================================
# PROJECT INFORMATION
# =============================================================================
project_name: str = "Wizamart - Multi-Store Marketplace Platform"
project_name: str = "Orion - Multi-Store Marketplace Platform"
version: str = "2.2.0"
# Clean description without HTML
@@ -47,12 +47,12 @@ class Settings(BaseSettings):
# =============================================================================
# DATABASE (PostgreSQL only)
# =============================================================================
database_url: str = "postgresql://wizamart_user:secure_password@localhost:5432/wizamart_db"
database_url: str = "postgresql://orion_user:secure_password@localhost:5432/orion_db"
# =============================================================================
# ADMIN INITIALIZATION (for init_production.py)
# =============================================================================
admin_email: str = "admin@wizamart.com"
admin_email: str = "admin@orion.lu"
admin_username: str = "admin"
admin_password: str = "admin123" # CHANGE IN PRODUCTION!
admin_first_name: str = "Platform"
@@ -96,7 +96,7 @@ class Settings(BaseSettings):
# =============================================================================
# PLATFORM DOMAIN CONFIGURATION
# =============================================================================
platform_domain: str = "wizamart.com"
platform_domain: str = "orion.lu"
# Custom domain features
allow_custom_domains: bool = True
@@ -107,7 +107,7 @@ class Settings(BaseSettings):
auto_provision_ssl: bool = False
# DNS verification
dns_verification_prefix: str = "_wizamart-verify"
dns_verification_prefix: str = "_orion-verify"
dns_verification_ttl: int = 3600
# =============================================================================
@@ -130,8 +130,8 @@ class Settings(BaseSettings):
# =============================================================================
# Provider: smtp, sendgrid, mailgun, ses
email_provider: str = "smtp"
email_from_address: str = "noreply@wizamart.com"
email_from_name: str = "Wizamart"
email_from_address: str = "noreply@orion.lu"
email_from_name: str = "Orion"
email_reply_to: str = "" # Optional reply-to address
# SMTP Settings (used when email_provider=smtp)
@@ -201,7 +201,7 @@ class Settings(BaseSettings):
r2_account_id: str | None = None
r2_access_key_id: str | None = None
r2_secret_access_key: str | None = None
r2_bucket_name: str = "wizamart-media"
r2_bucket_name: str = "orion-media"
r2_public_url: str | None = None # Custom domain for public access (e.g., https://media.yoursite.com)
# =============================================================================

View File

@@ -9,7 +9,7 @@ Detection priority:
1. Admin subdomain (admin.oms.lu)
2. Path-based admin/store (/admin/*, /store/*, /api/v1/admin/*)
3. Custom domain lookup (mybakery.lu -> STOREFRONT)
4. Store subdomain (wizamart.oms.lu -> STOREFRONT)
4. Store subdomain (orion.oms.lu -> STOREFRONT)
5. Storefront paths (/storefront/*, /api/v1/storefront/*)
6. Default to PLATFORM (marketing pages)
@@ -62,7 +62,7 @@ class FrontendDetector:
Detect frontend type from request.
Args:
host: Request host header (e.g., "oms.lu", "wizamart.oms.lu", "localhost:8000")
host: Request host header (e.g., "oms.lu", "orion.oms.lu", "localhost:8000")
path: Request path (e.g., "/admin/stores", "/storefront/products")
has_store_context: True if request.state.store is set (from middleware)
@@ -110,7 +110,7 @@ class FrontendDetector:
logger.debug("[FRONTEND_DETECTOR] Detected PLATFORM from path")
return FrontendType.PLATFORM
# 3. Store subdomain detection (wizamart.oms.lu)
# 3. Store subdomain detection (orion.oms.lu)
# If subdomain exists and is not reserved -> it's a store storefront
if subdomain and subdomain not in cls.RESERVED_SUBDOMAINS:
logger.debug(
@@ -138,7 +138,7 @@ class FrontendDetector:
@classmethod
def _get_subdomain(cls, host: str) -> str | None:
"""
Extract subdomain from host (e.g., 'wizamart' from 'wizamart.oms.lu').
Extract subdomain from host (e.g., 'orion' from 'orion.oms.lu').
Returns None for localhost, IP addresses, or root domains.
Handles special case of admin.localhost for development.

View File

@@ -32,13 +32,13 @@ async def lifespan(app: FastAPI):
# === STARTUP ===
app_logger = setup_logging()
app_logger.info("Starting Wizamart multi-tenant platform")
app_logger.info("Starting Orion multi-tenant platform")
logger.info("[OK] Application startup completed")
yield
# === SHUTDOWN ===
app_logger.info("Shutting down Wizamart platform")
app_logger.info("Shutting down Orion platform")
# Add cleanup tasks here if needed