# coding: utf-8

"""
Payment API

API for accepting payments and storing subscriptions

The version of the OpenAPI document: 1.0.0
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 Scope(str, Enum):
    """
    The permission scopes for the API.
    """

    """
    allowed enum values
    """
    WRITE_COLON_ADMIN = "write:admin"
    READ_COLON_ADMIN = "read:admin"
    READ_COLON_PREDICTIONS = "read:predictions"
    READ_COLON_HIVE_COLON_MODEL = "read:hive:model"
    READ_COLON_HIVE_COLON_DATA = "read:hive:data"
    WRITE_COLON_HIVE_COLON_MODEL = "write:hive:model"
    READ_COLON_TRADE_COLON_BOTS = "read:trade:bots"
    WRITE_COLON_TRADE_COLON_BOTS = "write:trade:bots"
    READ_COLON_TRADE_COLON_EXCHANGEKEYS = "read:trade:exchangekeys"
    WRITE_COLON_TRADE_COLON_EXCHANGEKEYS = "write:trade:exchangekeys"
    READ_COLON_TRADE_COLON_ORDERS = "read:trade:orders"
    READ_COLON_TRADE_COLON_ACTIONS = "read:trade:actions"
    WRITE_COLON_TRADE_COLON_ACTIONS = "write:trade:actions"
    READ_COLON_TRADE_COLON_EXCHANGES = "read:trade:exchanges"
    READ_COLON_TRADE_COLON_FUTURES = "read:trade:futures"
    WRITE_COLON_TRADE_COLON_FUTURES = "write:trade:futures"
    READ_COLON_TRADE_COLON_NOTIFICATIONS = "read:trade:notifications"
    WRITE_COLON_TRADE_COLON_NOTIFICATIONS = "write:trade:notifications"
    READ_COLON_TRADE_COLON_STRATEGIES = "read:trade:strategies"
    WRITE_COLON_TRADE_COLON_STRATEGIES = "write:trade:strategies"
    READ_COLON_PAY_COLON_PAYMENTS = "read:pay:payments"
    READ_COLON_PAY_COLON_PRODUCTS = "read:pay:products"
    WRITE_COLON_PAY_COLON_PRODUCTS = "write:pay:products"
    READ_COLON_PAY_COLON_NOW = "read:pay:now"
    WRITE_COLON_PAY_COLON_NOW = "write:pay:now"
    READ_COLON_METRICS_COLON_MARKETCAP = "read:metrics:marketcap"
    READ_COLON_METRICS_COLON_INDICATORS = "read:metrics:indicators"
    READ_COLON_METRICS_COLON_EXCHANGES = "read:metrics:exchanges"
    READ_COLON_METRICS_COLON_TOKENS = "read:metrics:tokens"
    READ_COLON_METRICS_COLON_MARKETS = "read:metrics:markets"
    READ_COLON_SENTIMENT = "read:sentiment"

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