from enum import Enum


class MatchedType(str, Enum):
    AMBIGUOUS = "ambiguous"
    HISTORY = "history"
    KEYWORD = "keyword"
    UNKNOWN = "unknown"

class Status(str, Enum):
    APPROVED = "APPROVED"
    DELETED = "DELETED"
    DRAFT = "DRAFT"
    FAILED = "FAILED"
    IN_PROGRESS = "IN_PROGRESS"
    PROCESSED = "PROCESSED"
    PUBLISHED = "PUBLISHED"
    QUEUED = "QUEUED"
    REJECTED = "REJECTED"
    RUNNING = "RUNNING"
    SUCCESS = "SUCCESS"
    WAIT_FOR_APPROVAL = "WAIT_FOR_APPROVAL"
    WARN = "WARN"


class WineDbStatus(str, Enum):
    ACTIVE = "ACTIVE"
    DELETED = "DELETED"


class SourceEnum(str, Enum):
    IMPORT = "IMPORT"
    MANUAL = "MANUAL"
    # Add more as per your Groovy `Source` enum


class Source(str, Enum):
    NARROW = "NARROW"
    VALIDATION = "VALIDATION"
    WINE_ADDITION = "WINE_ADDITION"
    KW_GENERATOR = "KW_GENERATOR"


class WineDbStatus(str, Enum):
    ACTIVE = "ACTIVE"
    DELETED = "DELETED"


class Separator(str, Enum):
    PIPE = "|"


class LineTerminator(str, Enum):
    CRLF = "\r\n"
    LF = "\n"


class RequestType(str, Enum):
    GET = "GET"
    POST = "POST"
