"""
Orders Service Models Package

Import all models to ensure they are registered with SQLAlchemy Base.
"""

# 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)

# Import all models to register them with the Base metadata
from .customer import Customer, CustomerContact
from .order import CustomerOrder, OrderItem, OrderStatusHistory

# Import enums
from .enums import (
    CustomerType,
    DeliveryMethod,
    PaymentTerms,
    PaymentMethod,
    PaymentStatus,
    CustomerSegment,
    SalesChannel,
    BusinessModel,
    OrderType,
    OrderSource,
    OrderStatus,
    DeliveryStatus,
    ProcurementPlanType,
    ProcurementStrategy,
    PlanStatus,
    PriorityLevel,
    RequirementStatus,
    RiskLevel,
)

# List all models for easier access
__all__ = [
    # Models
    "Customer",
    "CustomerContact",
    "CustomerOrder",
    "OrderItem",
    "OrderStatusHistory",
    # Enums
    "CustomerType",
    "DeliveryMethod",
    "PaymentTerms",
    "PaymentMethod",
    "PaymentStatus",
    "CustomerSegment",
    "SalesChannel",
    "BusinessModel",
    "OrderType",
    "OrderSource",
    "OrderStatus",
    "DeliveryStatus",
    "ProcurementPlanType",
    "ProcurementStrategy",
    "PlanStatus",
    "PriorityLevel",
    "RequirementStatus",
    "RiskLevel",
    "AuditLog",
]
