Implement task API with input validation; implement error handling; refactoring
This commit is contained in:
parent
19d264a03b
commit
50aff05614
24 changed files with 612 additions and 131 deletions
23
tofu_api/common/exceptions/base.py
Normal file
23
tofu_api/common/exceptions/base.py
Normal 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,
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue