# coding: utf-8

"""
    Corbado Backend API

     # Introduction This documentation gives an overview of all Corbado Backend API calls to implement passwordless authentication with Passkeys. 

    The version of the OpenAPI document: 2.0.0
    Contact: support@corbado.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class DecisionTag(str, Enum):
    """
    DecisionTag
    """

    """
    allowed enum values
    """
    ENV_MINUS_NO_MINUS_PK_MINUS_SUPPORT = 'env-no-pk-support'
    USER_MINUS_NO_MINUS_PKS = 'user-no-pks'
    USER_MINUS_LOGIN_MINUS_BLACKLISTED = 'user-login-blacklisted'
    USER_MINUS_SECURITY_MINUS_KEY = 'user-security-key'
    USER_MINUS_POSITIVE_MINUS_ENV_MINUS_HISTORY = 'user-positive-env-history'
    USER_MINUS_NEGATIVE_MINUS_ENV_MINUS_HISTORY = 'user-negative-env-history'
    ENV_MINUS_BLACKLISTED = 'env-blacklisted'
    USER_MINUS_PLATFORM_MINUS_PK_MINUS_HIGH_MINUS_CONFIDENCE = 'user-platform-pk-high-confidence'
    USER_MINUS_CROSS_MINUS_PLATFORM_MINUS_PK_MINUS_HIGH_MINUS_CONFIDENCE = 'user-cross-platform-pk-high-confidence'
    USER_MINUS_ENV_MINUS_NO_MINUS_PKS = 'user-env-no-pks'
    DEFAULT_MINUS_DENY = 'default-deny'
    PASSKEY_MINUS_LIST_MINUS_INITIATED_MINUS_PROCESS = 'passkey-list-initiated-process'
    USER_MINUS_APPEND_MINUS_BLACKLISTED = 'user-append-blacklisted'
    PROCESS_MINUS_PK_MINUS_LOGIN_MINUS_SK_MINUS_COMPLETED = 'process-pk-login-sk-completed'
    PROCESS_MINUS_PK_MINUS_LOGIN_MINUS_PLATFORM_MINUS_COMPLETED = 'process-pk-login-platform-completed'
    PROCESS_MINUS_PK_MINUS_LOGIN_MINUS_NOT_MINUS_OFFERED = 'process-pk-login-not-offered'
    PROCESS_MINUS_PK_MINUS_LOGIN_MINUS_INCOMPLETE = 'process-pk-login-incomplete'
    PROCESS_MINUS_PK_MINUS_LOGIN_MINUS_CROSS_MINUS_PLATFORM_MINUS_COMPLETED = 'process-pk-login-cross-platform-completed'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of DecisionTag from a JSON string"""
        return cls(json.loads(json_str))


