# /opt/docker/dev/service_finder/backend/app/models/__init__.py
# MB 2.0: Kritikus javítás - Mindenki az app.database.Base-t használja!
from app.database import Base

# 1. Alapvető identitás és szerepkörök
from .identity import Person, User, Wallet, VerificationToken, SocialAccount, UserRole

# 2. Földrajzi adatok és címek
from .address import Address, GeoPostalCode, GeoStreet, GeoStreetType, Rating 

# 3. Jármű definíciók
from .vehicle_definitions import VehicleModelDefinition, VehicleType, FeatureDefinition, ModelFeatureMap
from .reference_data import ReferenceLookup

# 4. Szervezeti felépítés
from .organization import Organization, OrganizationMember, OrganizationFinancials, OrganizationSalesAssignment, OrgType, OrgUserRole, Branch

# 5. Eszközök és katalógusok
from .asset import Asset, AssetCatalog, AssetCost, AssetEvent, AssetFinancials, AssetTelemetry, AssetReview, ExchangeRate, CatalogDiscovery, VehicleOwnership

# 6. Üzleti logika és előfizetések
from .core_logic import SubscriptionTier, OrganizationSubscription, CreditTransaction, ServiceSpecialty
from .payment import PaymentIntent, PaymentIntentStatus

# 7. Szolgáltatások és staging
from .service import ServiceProfile, ExpertiseTag, ServiceExpertise, ServiceStaging, DiscoveryParameter

# 8. Rendszer, Gamification és egyebek
from .gamification import PointRule, LevelConfig, UserStats, Badge, UserBadge, PointsLedger

# --- 2.2 ÚJDONSÁG: InternalNotification hozzáadása ---
from .system import SystemParameter, InternalNotification 

from .document import Document
from .translation import Translation
from .audit import SecurityAuditLog, ProcessLog, FinancialLedger 
from .history import AuditLog, LogSeverity
from .security import PendingAction
from .legal import LegalDocument, LegalAcceptance
from .logistics import Location, LocationType

# Aliasok a Digital Twin kompatibilitáshoz
Vehicle = Asset
UserVehicle = Asset
VehicleCatalog = AssetCatalog
ServiceRecord = AssetEvent

__all__ = [
    "Base", "User", "Person", "Wallet", "UserRole", "VerificationToken", "SocialAccount",
    "Organization", "OrganizationMember", "OrganizationSalesAssignment", "OrgType", "OrgUserRole",
    "Asset", "AssetCatalog", "AssetCost", "AssetEvent", "AssetFinancials", 
    "AssetTelemetry", "AssetReview", "ExchangeRate", "CatalogDiscovery",
    "Address", "GeoPostalCode", "GeoStreet", "GeoStreetType", "Branch",
    "PointRule", "LevelConfig", "UserStats", "Badge", "UserBadge", "Rating", "PointsLedger",
    
    # --- 2.2 ÚJDONSÁG KIEGÉSZÍTÉS ---
    "SystemParameter", "InternalNotification", 
    
    "Document", "Translation", "PendingAction",
    "SubscriptionTier", "OrganizationSubscription", "CreditTransaction", "ServiceSpecialty",
    "PaymentIntent", "PaymentIntentStatus",
    "AuditLog", "VehicleOwnership", "LogSeverity",
    "SecurityAuditLog", "ProcessLog", "FinancialLedger",
    "ServiceProfile", "ExpertiseTag", "ServiceExpertise", "ServiceStaging", "DiscoveryParameter",
    "Vehicle", "UserVehicle", "VehicleCatalog", "ServiceRecord", "VehicleModelDefinition", "ReferenceLookup",
    "VehicleType", "FeatureDefinition", "ModelFeatureMap", "LegalDocument", "LegalAcceptance",
    "Location", "LocationType"
]
from app.models.payment import PaymentIntent, WithdrawalRequest
