21 lines
613 B
Python
21 lines
613 B
Python
|
|
from enum import StrEnum
|
||
|
|
|
||
|
|
|
||
|
|
class JDErrorCode(StrEnum):
|
||
|
|
TOKEN_INVALID = "JD_TOKEN_INVALID"
|
||
|
|
TOKEN_EXPIRED = "JD_TOKEN_EXPIRED"
|
||
|
|
JOS_API_ERROR = "JD_JOS_API_ERROR"
|
||
|
|
NETWORK_ERROR = "JD_NETWORK_ERROR"
|
||
|
|
SIGNATURE_ERROR = "JD_SIGNATURE_ERROR"
|
||
|
|
DECRYPT_ERROR = "JD_DECRYPT_ERROR"
|
||
|
|
WEBHOOK_REJECTED = "JD_WEBHOOK_REJECTED"
|
||
|
|
RATE_LIMITED = "JD_RATE_LIMITED"
|
||
|
|
|
||
|
|
|
||
|
|
class JDError(Exception):
|
||
|
|
def __init__(self, code: JDErrorCode, message: str, detail: dict | None = None):
|
||
|
|
self.code = code
|
||
|
|
self.message = message
|
||
|
|
self.detail = detail or {}
|
||
|
|
super().__init__(message)
|