Files
next-tjwater-server/samples/peripheral/errors.py
T

19 lines
673 B
Python

from uuid import UUID
class SampleFailure(Exception):
def __init__(self, code: str, message: str, status: int = 422, *,
effect: str = "none", request_id: UUID | str | None = None):
super().__init__(message)
self.code, self.message, self.status = code, message, status
self.effect, self.request_id = effect, str(request_id) if request_id else None
def payload(self):
return {"code": self.code, "message": self.message,
"request_id": self.request_id, "effect": self.effect}
def ensure(condition, code, message, status=422):
if not condition:
raise SampleFailure(code, message, status)