Files
xiaozhi-esp32-server/main/manager-api-fastapi/app/core/errors.py
T

45 lines
1.1 KiB
Python

from __future__ import annotations
from dataclasses import dataclass
class ErrorCode:
INTERNAL_SERVER_ERROR = 500
UNAUTHORIZED = 401
FORBIDDEN = 403
DB_RECORD_EXISTS = 10002
PARAMS_GET_ERROR = 10003
ACCOUNT_PASSWORD_ERROR = 10004
ACCOUNT_DISABLE = 10005
CAPTCHA_ERROR = 10007
PASSWORD_ERROR = 10009
UPLOAD_FILE_EMPTY = 10019
TOKEN_INVALID = 10021
ACCOUNT_LOCK = 10022
INVALID_SYMBOL = 10029
PASSWORD_LENGTH_ERROR = 10030
PASSWORD_WEAK_ERROR = 10031
DEL_MYSELF_ERROR = 10032
DEVICE_CAPTCHA_ERROR = 10033
PARAM_VALUE_NULL = 10034
PARAM_TYPE_NULL = 10035
PARAM_TYPE_INVALID = 10036
PARAM_NUMBER_INVALID = 10037
PARAM_BOOLEAN_INVALID = 10038
PARAM_ARRAY_INVALID = 10039
PARAM_JSON_INVALID = 10040
RESOURCE_NOT_FOUND = 10051
ADD_DATA_FAILED = 10065
UPDATE_DATA_FAILED = 10066
MODEL_TYPE_PROVIDE_CODE_NOT_NULL = 10131
@dataclass(slots=True)
class AppError(Exception):
code: int
message: str | None = None
params: tuple[object, ...] = ()
def __str__(self) -> str:
return self.message or str(self.code)