# Auto-generated by DjangoCFG - see CLAUDE.md

from enum import Enum


class StrEnum(str, Enum):
    """String Enum for Python 3.10+ compatibility."""


class AlertType(StrEnum):
    """
    * `machine_offline` - Machine Offline
    * `task_failed` - Task Failed
    * `schedule_error` - Schedule Error
    """

    MACHINE_OFFLINE = "machine_offline"
    TASK_FAILED = "task_failed"
    SCHEDULE_ERROR = "schedule_error"



class DeviceAuthorizeRequestAction(StrEnum):
    """
    User decision: approve or deny
    * `approve` - approve
    * `deny` - deny
    """

    APPROVE = "approve"
    DENY = "deny"



class TokenErrorError(StrEnum):
    """
    OAuth error code
    * `authorization_pending` - authorization_pending
    * `slow_down` - slow_down
    * `access_denied` - access_denied
    * `expired_token` - expired_token
    * `invalid_grant` - invalid_grant
    """

    AUTHORIZATION_PENDING = "authorization_pending"
    SLOW_DOWN = "slow_down"
    ACCESS_DENIED = "access_denied"
    EXPIRED_TOKEN = "expired_token"
    INVALID_GRANT = "invalid_grant"



class TokenRequestRequestGrantType(StrEnum):
    """
    OAuth grant type
    * `urn:ietf:params:oauth:grant-type:device_code` - Device Code Flow
    * `refresh_token` - Refresh Token
    """

    URN_IETF_PARAMS_OAUTH_GRANT_TYPE_DEVICE_CODE = "urn:ietf:params:oauth:grant-type:device_code"
    REFRESH_TOKEN = "refresh_token"



class TokenRevokeRequestTokenTypeHint(StrEnum):
    """
    Hint about token type (optional)
    * `access_token` - access_token
    * `refresh_token` - refresh_token
    """

    ACCESS_TOKEN = "access_token"
    REFRESH_TOKEN = "refresh_token"



