from __future__ import annotations

"""PostgreSQL Database Client for DSCons ERP System."""

import logging

from app.core.postgres.base import BasePostgresClient

from .clients.ai_budget_client import ErpAiBudgetMixin
from .clients.ai_models_client import ErpAiModelsMixin
from .clients.autonomous_client import ErpAutonomousMixin
from .clients.document_audit_client import ErpDocumentAuditMixin
from .clients.document_crud_client import ErpDocumentCrudMixin
from .clients.equipment_client import ErpEquipmentMixin
from .clients.financial_client import ErpFinancialMixin
from .clients.project_client import ErpProjectMixin
from .clients.takeoff_chat_client import ErpTakeoffChatMixin
from .clients.takeoff_crud_client import ErpTakeoffCrudMixin
from .clients.timesheet_client import ErpTimesheetMixin
from .clients.user_client import ErpUserMixin

logger = logging.getLogger(__name__)


class ErpDatabaseClient(
    BasePostgresClient,
    ErpEquipmentMixin,
    ErpFinancialMixin,
    ErpTimesheetMixin,
    ErpDocumentCrudMixin,
    ErpDocumentAuditMixin,
    ErpProjectMixin,
    ErpUserMixin,
    ErpAiBudgetMixin,
    ErpAiModelsMixin,
    ErpAutonomousMixin,
    ErpTakeoffCrudMixin,
    ErpTakeoffChatMixin,
):
    """Unified PostgreSQL Database Client for DSCons Enterprise ERP."""
