# 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 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", "Role", # Merchant configuration "MerchantDomain", # Store configuration "StoreDomain", "StorePlatform", ]