from enum import Enum
from typing import Dict

from src.core.config import settings

"""
Constants used throughout the application
"""

# User roles
ROLE_ADMIN = "admin"
ROLE_USER = "user"

# Common status
STATUS_ACTIVE = "active"
STATUS_INACTIVE = "inactive"
STATUS_DELETED = "deleted"


DEFAULT_PER_PAGE = 10
MAX_PER_PAGE = 999999


class API_PREFIXES(str, Enum):
    AUTH = "/auth"
    USER = "/users"
    FILE = "/files"
    ROLE_PERMISSION = "/roles"
    ROLE = "/roles"
    MATCH = "/wine-match"
    WINE_MATCH = "/wine-matches"
    OPTIONS = "/options"
    VARIETY = "/varieties"
    COLOR = "/colors"
    SWEETNESS = "/sweetnesses"
    TYPE = "/types"
    WINE = "/wines"
    PRODUCER = "/producers"
    KEYWORD_GENERATOR = "/keyword-generator"
    KEYWORD_SUBSTITUTION = "/keyword-substitutions"
    KEYWORD_SPREAD = "/keyword-spreads"
    VINTAGE = "/vintages"
    WORD_ALIAS = "/word-aliases"
    WORD_ELIMINATION = "/word-eliminations"
    WORD_RESERVED = "/reserved-words"
    WORD_CHANGE = "/word-changes"
    JOB_LOG = "/job-logs"
    REGION = "/regions"
    SUB_REGION = "/sub-regions"
    COUNTRY = "/countries"
    LOCATION = "/locations"
    LOCALE = "/locations/locales"
    APPELLATION = "/appellations"
    SUB_APPELLATION = "/sub-appellations"
