# /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.identity import Person, User, Wallet, VerificationToken, SocialAccount, UserRole

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

# 3. Jármű definíciók
from .vehicle.vehicle_definitions import VehicleModelDefinition, VehicleType, FeatureDefinition, ModelFeatureMap
from .reference_data import ReferenceLookup
from .vehicle.vehicle import CostCategory, VehicleCost, GbCatalogDiscovery
from .vehicle.external_reference import ExternalReferenceLibrary
from .vehicle.external_reference_queue import ExternalReferenceQueue

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

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

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

# 7. Szolgáltatások és staging
# JAVÍTVA: ServiceStaging és társai a staged_data-ból jönnek!
from .marketplace.service import ServiceProfile, ExpertiseTag, ServiceExpertise
from .marketplace.staged_data import ServiceStaging, DiscoveryParameter, StagedVehicleData
from .marketplace.service_request import ServiceRequest

# 8. Közösségi és értékelési modellek (Social 3)
from .identity.social import ServiceProvider, Vote, Competition, UserScore, ServiceReview, ModerationStatus, SourceType

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

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

from .system.document import Document
from .system.translation import Translation
# Direct import from audit module
from .system.audit import SecurityAuditLog, OperationalLog, ProcessLog, FinancialLedger, WalletType, LedgerStatus, LedgerEntryType
from .vehicle.history import AuditLog, LogSeverity
from .identity.security import PendingAction, ActionStatus
from .system.legal import LegalDocument, LegalAcceptance
from .marketplace.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", "AssetAssignment", "AssetFinancials",
    "AssetTelemetry", "AssetReview", "ExchangeRate", "CatalogDiscovery",
    "Address", "GeoPostalCode", "GeoStreet", "GeoStreetType", "Branch",
    "PointRule", "LevelConfig", "UserStats", "Badge", "UserBadge", "Rating", "PointsLedger", "UserContribution",
    
    # --- 2.2 ÚJDONSÁG KIEGÉSZÍTÉS ---
    "SystemParameter", "ParameterScope", "InternalNotification",
    
    # Social models (Social 3)
    "ServiceProvider", "Vote", "Competition", "UserScore", "ServiceReview", "ModerationStatus", "SourceType",
    
    "Document", "Translation", "PendingAction", "ActionStatus",
    "SubscriptionTier", "OrganizationSubscription", "CreditTransaction", "ServiceSpecialty",
    "PaymentIntent", "PaymentIntentStatus",
    "AuditLog", "VehicleOwnership", "LogSeverity",
    "SecurityAuditLog", "OperationalLog", "ProcessLog", 
    "FinancialLedger", "WalletType", "LedgerStatus", "LedgerEntryType",
    "ServiceProfile", "ExpertiseTag", "ServiceExpertise", "ServiceStaging", "DiscoveryParameter", "ServiceRequest",
    "Vehicle", "UserVehicle", "VehicleCatalog", "ServiceRecord", "VehicleModelDefinition", "ReferenceLookup",
    "VehicleType", "FeatureDefinition", "ModelFeatureMap", "LegalDocument", "LegalAcceptance",
    "Location", "LocationType", "Issuer", "IssuerType", "CostCategory", "VehicleCost", "ExternalReferenceLibrary", "ExternalReferenceQueue",
    "GbCatalogDiscovery", "Season", "StagedVehicleData"
]