# /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 (Mindenki használja)
from .identity import Person, User, Wallet, VerificationToken, SocialAccount, UserRole

# 2. Földrajzi adatok és címek (Szervezetek és személyek használják)
from .address import Address, GeoPostalCode, GeoStreet, GeoStreetType, Branch, Rating 

# 3. Jármű definíciók (Az Asset-ek használják, ezért előbb kell lenniük)
from .vehicle_definitions import VehicleModelDefinition, VehicleType, FeatureDefinition, ModelFeatureMap

# 4. Szervezeti felépítés (Hivatkozik címekre és felhasználókra)
from .organization import Organization, OrganizationMember, OrganizationFinancials, OrganizationSalesAssignment, OrgType, OrgUserRole

# 5. Eszközök és katalógusok (Hivatkozik definíciókra és szervezetekre)
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

# 7. Szolgáltatások és staging (Hivatkozik szervezetekre és eszközökre)
from .service import ServiceProfile, ExpertiseTag, ServiceExpertise, ServiceStaging, DiscoveryParameter

# 8. Rendszer, Gamification és egyebek
from .gamification import PointRule, LevelConfig, UserStats, Badge, UserBadge, PointsLedger
from .system import SystemParameter 
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",
    "SystemParameter", "Document", "Translation", "PendingAction",
    "SubscriptionTier", "OrganizationSubscription", "CreditTransaction", "ServiceSpecialty",
    "AuditLog", "VehicleOwnership", "LogSeverity",
    "SecurityAuditLog", "ProcessLog", "FinancialLedger",
    "ServiceProfile", "ExpertiseTag", "ServiceExpertise", "ServiceStaging", "DiscoveryParameter",
    "Vehicle", "UserVehicle", "VehicleCatalog", "ServiceRecord", "VehicleModelDefinition",
    "VehicleType", "FeatureDefinition", "ModelFeatureMap", "LegalDocument", "LegalAcceptance",
    "Location", "LocationType"
]