"""
Application Constants Module

Contains constant values used throughout the application.
"""

from app.constants.workflow_entity_types import (
    # Entity Type Constants
    PURCHASE_REQUISITION,
    PURCHASE_ORDER,
    GOODS_RECEIPT,
    VENDOR_PAYMENT,
    SALES_QUOTATION,
    SALES_ORDER,
    SALES_INVOICE,
    SALES_CREDIT_NOTE,
    CUSTOMER_CREDIT_LIMIT,
    INVENTORY_ADJUSTMENT,
    STOCK_WRITEOFF,
    STOCK_TRANSFER,
    INVENTORY_REVALUATION,
    BOM_CHANGE,
    PRODUCTION_ORDER,
    PRODUCTION_VARIANCE,
    SCRAP_DISPOSAL,
    JOURNAL_ENTRY,
    ACCRUAL,
    BAD_DEBT_WRITEOFF,
    PERIOD_CLOSE,
    COA_CHANGE,
    INTERCOMPANY,
    ASSET_ACQUISITION,
    ASSET_DISPOSAL,
    ASSET_IMPAIRMENT,
    DEPRECIATION_POLICY,
    BANK_RECON_ADJ,
    CASH_TRANSFER,
    PETTY_CASH,
    VAT_RETURN,
    TAX_PAYMENT,
    PAYROLL_RUN,
    EXPENSE_CLAIM,
    BUDGET,
    BUDGET_TRANSFER,
    # Helper dictionaries
    ENTITY_TYPE_LABELS,
    ENTITY_TYPE_MODULES,
    ENTITY_TYPE_IFRS,
    PHASE1_ENTITY_TYPES,
    # Helper functions
    get_entity_label,
    get_entity_module,
    get_entity_ifrs,
)

__all__ = [
    # Entity Types
    "PURCHASE_REQUISITION",
    "PURCHASE_ORDER",
    "GOODS_RECEIPT",
    "VENDOR_PAYMENT",
    "SALES_QUOTATION",
    "SALES_ORDER",
    "SALES_INVOICE",
    "SALES_CREDIT_NOTE",
    "CUSTOMER_CREDIT_LIMIT",
    "INVENTORY_ADJUSTMENT",
    "STOCK_WRITEOFF",
    "STOCK_TRANSFER",
    "INVENTORY_REVALUATION",
    "BOM_CHANGE",
    "PRODUCTION_ORDER",
    "PRODUCTION_VARIANCE",
    "SCRAP_DISPOSAL",
    "JOURNAL_ENTRY",
    "ACCRUAL",
    "BAD_DEBT_WRITEOFF",
    "PERIOD_CLOSE",
    "COA_CHANGE",
    "INTERCOMPANY",
    "ASSET_ACQUISITION",
    "ASSET_DISPOSAL",
    "ASSET_IMPAIRMENT",
    "DEPRECIATION_POLICY",
    "BANK_RECON_ADJ",
    "CASH_TRANSFER",
    "PETTY_CASH",
    "VAT_RETURN",
    "TAX_PAYMENT",
    "PAYROLL_RUN",
    "EXPENSE_CLAIM",
    "BUDGET",
    "BUDGET_TRANSFER",
    # Dictionaries
    "ENTITY_TYPE_LABELS",
    "ENTITY_TYPE_MODULES",
    "ENTITY_TYPE_IFRS",
    "PHASE1_ENTITY_TYPES",
    # Functions
    "get_entity_label",
    "get_entity_module",
    "get_entity_ifrs",
]
