text: from typing import Dict, Union
  
  from pydantic import BaseModel
  
  
  class ErrorModel(BaseModel):
      detail: Union[str, Dict[str, str]]
  
  
  class ErrorCodeReasonModel(BaseModel):
      code: str
      reason: str
  
  
  class ErrorCode:
      REGISTER_INVALID_PASSWORD = "REGISTER_INVALID_PASSWORD"
      REGISTER_USER_ALREADY_EXISTS = "REGISTER_USER_ALREADY_EXISTS"
      LOGIN_BAD_CREDENTIALS = "LOGIN_BAD_CREDENTIALS"
      LOGIN_USER_NOT_VERIFIED = "LOGIN_USER_NOT_VERIFIED"
      RESET_PASSWORD_BAD_TOKEN = "RESET_PASSWORD_BAD_TOKEN"
      RESET_PASSWORD_INVALID_PASSWORD = "RESET_PASSWORD_INVALID_PASSWORD"
      VERIFY_USER_BAD_TOKEN = "VERIFY_USER_BAD_TOKEN"
      VERIFY_USER_ALREADY_VERIFIED = "VERIFY_USER_ALREADY_VERIFIED"
      UPDATE_USER_EMAIL_ALREADY_EXISTS = "UPDATE_USER_EMAIL_ALREADY_EXISTS"
      UPDATE_USER_INVALID_PASSWORD = "UPDATE_USER_INVALID_PASSWORD"
  