"""Enums module.""" from enum import StrEnum class Environment(StrEnum): """Deployment environments with local/managed detection properties.""" DEV = 'dev' QA = 'qa' UAT = 'uat' PROD = 'prod' @property def is_local(self) -> bool: """Check if in a local development environment.""" return self == Environment.DEV @property def is_managed(self) -> bool: """Check if in a managed (QA, UAT, Prod) environment.""" return self in (Environment.QA, Environment.UAT, Environment.PROD) class EventType(StrEnum): """Event type constants.""" CLOSE_BALANCE_COMPLETED = 'close_balance.completed' class TargetType(StrEnum): """Target type constants.""" STATEMENT_PERIOD_PAYMENT_ENTITY = 'statement_period_payment_entity' class PaymentAllocationType(StrEnum): """Payment allocation type constants.""" FLOWTHROUGH = 'flowthrough' class PaymentStatus(StrEnum): """Payment status constants.""" INIT = 'init' class LedgerStatus(StrEnum): """Ledger status constants.""" INIT = 'init' class PayeeType(StrEnum): """Payee type constants.""" ACCOUNT_PAYEE = 'account_payee' class CloseBalanceActionName(StrEnum): """Close balance action name constants.""" CLOSE_BALANCE = 'close_balance' class CloseBalanceActionStatus(StrEnum): """Close balance action status constants.""" INIT = 'init' COMPLETE = 'complete'