28 lines
920 B
Python
28 lines
920 B
Python
from enum import StrEnum
|
|
|
|
|
|
class ErrorCode(StrEnum):
|
|
INVALID_REQUEST = "INVALID_REQUEST"
|
|
OFFICIAL_AUTH_REQUIRED = "OFFICIAL_AUTH_REQUIRED"
|
|
UNAUTHORIZED = "UNAUTHORIZED"
|
|
FORBIDDEN = "FORBIDDEN"
|
|
DEVICE_NOT_FOUND = "DEVICE_NOT_FOUND"
|
|
DEVICE_OFFLINE = "DEVICE_OFFLINE"
|
|
UNSUPPORTED_CAPABILITY = "UNSUPPORTED_CAPABILITY"
|
|
RENDER_FAILED = "RENDER_FAILED"
|
|
UPLOAD_FAILED = "UPLOAD_FAILED"
|
|
WRITE_RESULT_UNKNOWN = "WRITE_RESULT_UNKNOWN"
|
|
RATE_LIMITED = "RATE_LIMITED"
|
|
INTERNAL_ERROR = "INTERNAL_ERROR"
|
|
CLOUD_UNAVAILABLE = "CLOUD_UNAVAILABLE"
|
|
NOT_FOUND = "NOT_FOUND"
|
|
CONFLICT = "CONFLICT"
|
|
CONFIG_REQUIRED = "CONFIG_REQUIRED"
|
|
WRITE_DISABLED = "WRITE_DISABLED"
|
|
|
|
|
|
class FlowError(Exception):
|
|
def __init__(self, code: ErrorCode, message: str, status: int = 400):
|
|
self.code, self.message, self.status = code, message, status
|
|
super().__init__(message)
|