from django.db import models


class SupportTicketStatus(models.TextChoices):
    OPEN = "open", "Open"
    IN_PROGRESS = "in_progress", "In Progress"
    RESOLVED = "resolved", "Resolved"
    CLOSED = "closed", "Closed"

    @classmethod
    def model_choices(cls):
        """Return choices in (value, label) format for model fields"""
        return cls.choices

    @classmethod
    def values(cls):
        """Return just the machine-safe values"""
        return [choice.value for choice in cls]

    @classmethod
    def is_valid(cls, value: str) -> bool:
        return value in cls.values()
