Implement task API with input validation; implement error handling; refactoring

This commit is contained in:
Lexi / Zoe 2022-09-23 20:38:34 +02:00
parent 19d264a03b
commit 50aff05614
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
24 changed files with 612 additions and 131 deletions

View file

@ -0,0 +1 @@
from .base import AppException

View file

@ -0,0 +1,23 @@
from typing import Optional
class AppException(Exception):
"""
Base class for application specific exceptions that can also be used as API error responses.
"""
code: str = 'unspecified_error'
status_code: int = 400
message: str
def __init__(self, message: str, *, code: Optional[str] = None, status_code: Optional[int] = None):
if code is not None:
self.code = code
if status_code is not None:
self.status_code = status_code
self.message = message
def to_dict(self) -> dict:
return {
'code': self.code,
'message': self.message,
}