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

@@ -13,9 +13,9 @@ from app.exceptions.base import (
BusinessLogicException,
ConflictException,
ExternalServiceException,
OrionException,
ResourceNotFoundException,
ValidationException,
WizamartException,
)
# =============================================================================
@@ -116,7 +116,7 @@ class UserAlreadyExistsException(ConflictException):
# =============================================================================
class PlatformNotFoundException(WizamartException):
class PlatformNotFoundException(OrionException):
"""Raised when a platform is not found."""
def __init__(self, code: str):
@@ -128,7 +128,7 @@ class PlatformNotFoundException(WizamartException):
)
class PlatformInactiveException(WizamartException): # noqa: MOD-025
class PlatformInactiveException(OrionException): # noqa: MOD-025
"""Raised when trying to access an inactive platform."""
def __init__(self, code: str):
@@ -140,7 +140,7 @@ class PlatformInactiveException(WizamartException): # noqa: MOD-025
)
class PlatformUpdateException(WizamartException): # noqa: MOD-025
class PlatformUpdateException(OrionException): # noqa: MOD-025
"""Raised when platform update fails."""
def __init__(self, code: str, reason: str):

View File

@@ -34,7 +34,7 @@ class MerchantDomain(Base, TimestampMixin):
Examples:
- myloyaltyprogram.lu -> Merchant "WizaCorp" (all stores inherit)
- Store WIZAMART overrides with StoreDomain -> mysuperloyaltyprogram.lu
- Store ORION overrides with StoreDomain -> mysuperloyaltyprogram.lu
- Store WIZAGADGETS -> inherits myloyaltyprogram.lu
"""

View File

@@ -32,7 +32,7 @@ class Platform(Base, TimestampMixin):
Represents a business offering/product line.
Examples:
- Wizamart OMS (Order Management System)
- Orion OMS (Order Management System)
- Loyalty+ (Loyalty Program Platform)
- Site Builder (Website Builder for Local Businesses)
@@ -62,7 +62,7 @@ class Platform(Base, TimestampMixin):
name = Column(
String(100),
nullable=False,
comment="Display name (e.g., 'Wizamart OMS')",
comment="Display name (e.g., 'Orion OMS')",
)
description = Column(

View File

@@ -40,8 +40,8 @@ class StorePlatform(Base, TimestampMixin):
- Store platform-specific settings
Example:
- Store "WizaMart" is on OMS platform (Professional tier)
- Store "WizaMart" is also on Loyalty platform (Basic tier)
- Store "Orion" is on OMS platform (Professional tier)
- Store "Orion" is also on Loyalty platform (Basic tier)
"""
__tablename__ = "store_platforms"

View File

@@ -249,7 +249,7 @@ def verify_merchant_domain_ownership(
Verify merchant domain ownership via DNS TXT record (Admin only).
**Verification Process:**
1. Queries DNS for TXT record: `_wizamart-verify.{domain}`
1. Queries DNS for TXT record: `_orion-verify.{domain}`
2. Checks if verification token matches
3. If found, marks domain as verified

View File

@@ -247,14 +247,14 @@ def verify_domain_ownership(
Verify domain ownership via DNS TXT record (Admin only).
**Verification Process:**
1. Queries DNS for TXT record: `_wizamart-verify.{domain}`
1. Queries DNS for TXT record: `_orion-verify.{domain}`
2. Checks if verification token matches
3. If found, marks domain as verified
**Requirements:**
- Store must have added TXT record to their DNS
- DNS propagation may take 5-15 minutes
- Record format: `_wizamart-verify.domain.com` TXT `{token}`
- Record format: `_orion-verify.domain.com` TXT `{token}`
**After verification:**
- Domain can be activated

View File

@@ -42,7 +42,7 @@ def get_store_info(
**Returns only active stores** to prevent access to disabled accounts.
Args:
store_code: The store's unique code (e.g., 'WIZAMART')
store_code: The store's unique code (e.g., 'ORION')
db: Database session
Returns:

View File

@@ -293,7 +293,7 @@ class MerchantDomainService:
Verify merchant domain ownership via DNS TXT record.
The merchant must add a TXT record:
Name: _wizamart-verify.{domain}
Name: _orion-verify.{domain}
Value: {verification_token}
"""
try:
@@ -304,7 +304,7 @@ class MerchantDomainService:
try:
txt_records = dns.resolver.resolve(
f"_wizamart-verify.{domain.domain}", "TXT"
f"_orion-verify.{domain.domain}", "TXT"
)
for txt in txt_records:
@@ -331,7 +331,7 @@ class MerchantDomainService:
except dns.resolver.NXDOMAIN:
raise DomainVerificationFailedException(
domain.domain,
f"DNS record _wizamart-verify.{domain.domain} not found",
f"DNS record _orion-verify.{domain.domain} not found",
)
except dns.resolver.NoAnswer:
raise DomainVerificationFailedException(
@@ -368,7 +368,7 @@ class MerchantDomainService:
},
"txt_record": {
"type": "TXT",
"name": "_wizamart-verify",
"name": "_orion-verify",
"value": domain.verification_token,
"ttl": 3600,
},

View File

@@ -284,7 +284,7 @@ class StoreDomainService:
Verify domain ownership via DNS TXT record.
The store must add a TXT record:
Name: _wizamart-verify.{domain}
Name: _orion-verify.{domain}
Value: {verification_token}
Args:
@@ -309,7 +309,7 @@ class StoreDomainService:
# Query DNS TXT records
try:
txt_records = dns.resolver.resolve(
f"_wizamart-verify.{domain.domain}", "TXT"
f"_orion-verify.{domain.domain}", "TXT"
)
# Check if verification token is present
@@ -333,7 +333,7 @@ class StoreDomainService:
except dns.resolver.NXDOMAIN:
raise DomainVerificationFailedException(
domain.domain,
f"DNS record _wizamart-verify.{domain.domain} not found",
f"DNS record _orion-verify.{domain.domain} not found",
)
except dns.resolver.NoAnswer:
raise DomainVerificationFailedException(
@@ -382,7 +382,7 @@ class StoreDomainService:
},
"txt_record": {
"type": "TXT",
"name": "_wizamart-verify",
"name": "_orion-verify",
"value": domain.verification_token,
"ttl": 3600,
},

View File

@@ -5,7 +5,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Merchant Login - Wizamart</title>
<title>Merchant Login - Orion</title>
<!-- Fonts: Local fallback + Google Fonts -->
<link href="/static/shared/fonts/inter.css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />

View File

@@ -514,7 +514,7 @@ class TestMerchantDomainServiceInstructions:
assert "instructions" in instructions
assert "txt_record" in instructions
assert instructions["txt_record"]["type"] == "TXT"
assert instructions["txt_record"]["name"] == "_wizamart-verify"
assert instructions["txt_record"]["name"] == "_orion-verify"
assert "common_registrars" in instructions
def test_get_verification_instructions_not_found(self, db):

View File

@@ -411,7 +411,7 @@ class TestStoreDomainServiceInstructions:
assert "instructions" in instructions
assert "txt_record" in instructions
assert instructions["txt_record"]["type"] == "TXT"
assert instructions["txt_record"]["name"] == "_wizamart-verify"
assert instructions["txt_record"]["name"] == "_orion-verify"
assert "common_registrars" in instructions
def test_get_verification_instructions_not_found(self, db):