# ================================================================
# services/procurement/app/schemas/__init__.py
# ================================================================
"""
Pydantic schemas for Procurement Service
"""

from .procurement_schemas import (
    ProcurementRequirementBase,
    ProcurementRequirementCreate,
    ProcurementRequirementUpdate,
    ProcurementRequirementResponse,
    ProcurementPlanBase,
    ProcurementPlanCreate,
    ProcurementPlanUpdate,
    ProcurementPlanResponse,
    ProcurementSummary,
    DashboardData,
    GeneratePlanRequest,
    GeneratePlanResponse,
    AutoGenerateProcurementRequest,
    AutoGenerateProcurementResponse,
    PaginatedProcurementPlans,
)

from .purchase_order_schemas import (
    PurchaseOrderCreate,
    PurchaseOrderUpdate,
    PurchaseOrderApproval,
    PurchaseOrderResponse,
    PurchaseOrderSummary,
    PurchaseOrderItemCreate,
    PurchaseOrderItemResponse,
    DeliveryCreate,
    DeliveryUpdate,
    DeliveryResponse,
    DeliveryItemCreate,
    DeliveryItemResponse,
    SupplierInvoiceCreate,
    SupplierInvoiceUpdate,
    SupplierInvoiceResponse,
)

__all__ = [
    # Procurement Plan schemas
    "ProcurementRequirementBase",
    "ProcurementRequirementCreate",
    "ProcurementRequirementUpdate",
    "ProcurementRequirementResponse",
    "ProcurementPlanBase",
    "ProcurementPlanCreate",
    "ProcurementPlanUpdate",
    "ProcurementPlanResponse",
    "ProcurementSummary",
    "DashboardData",
    "GeneratePlanRequest",
    "GeneratePlanResponse",
    "AutoGenerateProcurementRequest",
    "AutoGenerateProcurementResponse",
    "PaginatedProcurementPlans",
    # Purchase Order schemas
    "PurchaseOrderCreate",
    "PurchaseOrderUpdate",
    "PurchaseOrderApproval",
    "PurchaseOrderResponse",
    "PurchaseOrderSummary",
    "PurchaseOrderItemCreate",
    "PurchaseOrderItemResponse",
    # Delivery schemas
    "DeliveryCreate",
    "DeliveryUpdate",
    "DeliveryResponse",
    "DeliveryItemCreate",
    "DeliveryItemResponse",
    # Invoice schemas
    "SupplierInvoiceCreate",
    "SupplierInvoiceUpdate",
    "SupplierInvoiceResponse",
]
