# services/suppliers/app/models/__init__.py
"""
Models package for the Supplier service
"""

# Import AuditLog model for this service
from shared.security import create_audit_log_model
from shared.database.base import Base

# Create audit log model for this service
AuditLog = create_audit_log_model(Base)

from .suppliers import (
    Supplier, SupplierPriceList, SupplierQualityReview,
    SupplierType, SupplierStatus, PaymentTerms, QualityRating,
    # Deprecated stubs for backward compatibility
    PurchaseOrder, PurchaseOrderItem, Delivery, DeliveryItem, SupplierInvoice,
    PurchaseOrderStatus, DeliveryStatus, DeliveryRating, InvoiceStatus
)

from .performance import (
    SupplierPerformanceMetric, SupplierAlert, SupplierScorecard,
    SupplierBenchmark, AlertRule, AlertSeverity, AlertType, AlertStatus,
    PerformanceMetricType, PerformancePeriod
)

__all__ = [
    # Supplier Models
    'Supplier',
    'SupplierPriceList',
    'SupplierQualityReview',

    # Performance Models
    'SupplierPerformanceMetric',
    'SupplierAlert',
    'SupplierScorecard',
    'SupplierBenchmark',
    'AlertRule',

    # Supplier Enums
    'SupplierType',
    'SupplierStatus',
    'PaymentTerms',
    'QualityRating',

    # Performance Enums
    'AlertSeverity',
    'AlertType',
    'AlertStatus',
    'PerformanceMetricType',
    'PerformancePeriod',
    "AuditLog",

    # Deprecated stubs (backward compatibility only - DO NOT USE)
    'PurchaseOrder',
    'PurchaseOrderItem',
    'Delivery',
    'DeliveryItem',
    'SupplierInvoice',
    'PurchaseOrderStatus',
    'DeliveryStatus',
    'DeliveryRating',
    'InvoiceStatus',
]