# This file was generated by liblab | https://liblab.com/

from enum import Enum
from .utils.json_map import JsonMap
from .base import BaseModel


class BettingStatusResponseStatus(Enum):
    """An enumeration representing different categories.

    :cvar ALL_BETTING_ENABLED: "ALL_BETTING_ENABLED"
    :vartype ALL_BETTING_ENABLED: str
    :cvar ALL_LIVE_BETTING_CLOSED: "ALL_LIVE_BETTING_CLOSED"
    :vartype ALL_LIVE_BETTING_CLOSED: str
    :cvar ALL_BETTING_CLOSED: "ALL_BETTING_CLOSED"
    :vartype ALL_BETTING_CLOSED: str
    """

    ALL_BETTING_ENABLED = "ALL_BETTING_ENABLED"
    ALL_LIVE_BETTING_CLOSED = "ALL_LIVE_BETTING_CLOSED"
    ALL_BETTING_CLOSED = "ALL_BETTING_CLOSED"

    def list():
        """Lists all category values.

        :return: A list of all category values.
        :rtype: list
        """
        return list(
            map(lambda x: x.value, BettingStatusResponseStatus._member_map_.values())
        )


@JsonMap({})
class BettingStatusResponse(BaseModel):
    """BettingStatusResponse

    :param status: Betting status.<br>
    :type status: BettingStatusResponseStatus
    """

    def __init__(self, status: BettingStatusResponseStatus):
        self.status = self._enum_matching(
            status, BettingStatusResponseStatus.list(), "status"
        )
