from __future__ import annotations

from enum import StrEnum


class TransactionType(StrEnum):
    BUY = "buy"
    PARTIAL_SELL = "partial_sell"
    FULL_SELL = "full_sell"
    DIVIDEND = "dividend"
    ETF_DISTRIBUTION = "etf_distribution"
    FEE = "fee"
    TAX = "tax"
    CASH_DEPOSIT = "cash_deposit"
    CASH_WITHDRAWAL = "cash_withdrawal"
    FX_CONVERSION = "fx_conversion"
    INITIAL_POSITION_SNAPSHOT = "initial_position_snapshot"
    INITIAL_CASH_SNAPSHOT = "initial_cash_snapshot"
    MANUAL_CORRECTION = "manual_correction"


class CryptoTransactionType(StrEnum):
    CRYPTO_BUY = "crypto_buy"
    CRYPTO_SELL = "crypto_sell"
    CRYPTO_TRANSFER = "crypto_transfer"
    CRYPTO_FEE = "crypto_fee"
    INITIAL_SNAPSHOT = "initial_snapshot"
    MANUAL_ADJUSTMENT = "manual_adjustment"


class QualityStatus(StrEnum):
    OK = "ok"
    WARNING = "warning"
    ERROR = "error"
    INCOMPLETE = "incomplete"


class AlertPriority(StrEnum):
    INFO = "info"
    WICHTIG = "wichtig"
    KRITISCH = "kritisch"
