Some checks failed
- Add EmailVerificationToken and UserPasswordResetToken models with migration - Add email verification flow: verify-email page route, resend-verification API - Block login for unverified users (EmailNotVerifiedException in auth_service) - Add forgot-password/reset-password endpoints for merchant and store auth - Add "Forgot Password?" links to merchant and store login pages - Send welcome email with verification link on merchant creation - Seed email_verification and merchant_password_reset email templates - Fix db-reset Makefile to run all init-prod seed scripts - Add UserAuthService to satisfy architecture validation rules - Add 52 new tests (unit + integration) with full coverage Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
73 lines
2.3 KiB
Python
73 lines
2.3 KiB
Python
# app/modules/tenancy/models/__init__.py
|
|
"""
|
|
Tenancy module database models.
|
|
|
|
This is the canonical location for tenancy module models including:
|
|
- Platform, Merchant, Store, User management
|
|
- Admin platform assignments
|
|
- Store platform memberships
|
|
- Platform module configuration
|
|
- Store domains
|
|
"""
|
|
|
|
# Import models from other modules FIRST to resolve string-based relationship references.
|
|
# These imports are NOT re-exported, just ensure models are registered with SQLAlchemy
|
|
# before the tenancy models are loaded.
|
|
#
|
|
# Relationship being resolved:
|
|
# - Platform.admin_menu_configs -> "AdminMenuConfig" (in core module)
|
|
#
|
|
# NOTE: MarketplaceImportJob relationships have been moved to the marketplace module.
|
|
# Optional modules own their relationships to core models, not vice versa.
|
|
from app.modules.core.models import AdminMenuConfig # noqa: F401
|
|
from app.modules.tenancy.models.admin import (
|
|
AdminAuditLog,
|
|
AdminSession,
|
|
AdminSetting,
|
|
ApplicationLog,
|
|
PlatformAlert,
|
|
)
|
|
from app.modules.tenancy.models.admin_platform import AdminPlatform
|
|
from app.modules.tenancy.models.email_verification_token import EmailVerificationToken
|
|
from app.modules.tenancy.models.merchant import Merchant
|
|
from app.modules.tenancy.models.merchant_domain import MerchantDomain
|
|
from app.modules.tenancy.models.platform import Platform
|
|
from app.modules.tenancy.models.platform_module import PlatformModule
|
|
from app.modules.tenancy.models.store import Role, Store, StoreUser, StoreUserType
|
|
from app.modules.tenancy.models.store_domain import StoreDomain
|
|
from app.modules.tenancy.models.store_platform import StorePlatform
|
|
from app.modules.tenancy.models.user import User, UserRole
|
|
from app.modules.tenancy.models.user_password_reset_token import UserPasswordResetToken
|
|
|
|
__all__ = [
|
|
# Admin models
|
|
"AdminAuditLog",
|
|
"AdminSession",
|
|
"AdminSetting",
|
|
"ApplicationLog",
|
|
"PlatformAlert",
|
|
# Admin-Platform junction
|
|
"AdminPlatform",
|
|
# Merchant
|
|
"Merchant",
|
|
# Platform
|
|
"Platform",
|
|
"PlatformModule",
|
|
# User
|
|
"User",
|
|
"UserRole",
|
|
# Tokens
|
|
"EmailVerificationToken",
|
|
"UserPasswordResetToken",
|
|
# Store
|
|
"Store",
|
|
"StoreUser",
|
|
"StoreUserType",
|
|
"Role",
|
|
# Merchant configuration
|
|
"MerchantDomain",
|
|
# Store configuration
|
|
"StoreDomain",
|
|
"StorePlatform",
|
|
]
|