"""Core SQLAlchemy models."""

from .base import BaseModel, SoftDeleteMixin, AuditMixin
from .asset import Asset, AssetType, AssetStatus
from .machine import Machine, MachineType, MachineStatus, PCType
from .vendor import Vendor
from .model import Model
from .businessunit import BusinessUnit
from .location import Location
from .operatingsystem import OperatingSystem
from .relationship import MachineRelationship, AssetRelationship, RelationshipType
from .communication import Communication, CommunicationType
from .user import User, Role, Permission
from .application import Application, AppVersion, AppOwner, SupportTeam, InstalledApp
from .knowledgebase import KnowledgeBase
from .setting import Setting
from .auditlog import AuditLog

__all__ = [
    # Base
    'BaseModel',
    'SoftDeleteMixin',
    'AuditMixin',
    # Asset (new architecture)
    'Asset',
    'AssetType',
    'AssetStatus',
    # Machine (legacy)
    'Machine',
    'MachineType',
    'MachineStatus',
    'PCType',
    # Reference
    'Vendor',
    'Model',
    'BusinessUnit',
    'Location',
    'OperatingSystem',
    # Relationships
    'MachineRelationship',
    'AssetRelationship',
    'RelationshipType',
    # Communication
    'Communication',
    'CommunicationType',
    # Auth
    'User',
    'Role',
    'Permission',
    # Applications
    'Application',
    'AppVersion',
    'AppOwner',
    'SupportTeam',
    'InstalledApp',
    # Knowledge Base
    'KnowledgeBase',
    # Settings
    'Setting',
    # Audit
    'AuditLog',
]
