41 lines
922 B
Python
41 lines
922 B
Python
|
"""This module is a collection of project-wide exceptions."""
|
||
|
|
||
|
|
||
|
class NotFoundException(Exception):
|
||
|
"""Raised when a resource was unexpectedly not found."""
|
||
|
|
||
|
pass
|
||
|
|
||
|
|
||
|
class DataIntegrityException(Exception):
|
||
|
"""Raised to prevent a semantically invalid database operation."""
|
||
|
|
||
|
pass
|
||
|
|
||
|
|
||
|
class InvalidFilterParameterException(Exception):
|
||
|
"""Raised when a query filter parameter is invalid."""
|
||
|
|
||
|
pass
|
||
|
|
||
|
|
||
|
def create_exception_dict(message: str):
|
||
|
"""Creates a list for returning API error messages to the client.
|
||
|
|
||
|
The list has the following format:
|
||
|
[
|
||
|
{
|
||
|
"msg": "Something went wrong!.",
|
||
|
},
|
||
|
]
|
||
|
|
||
|
This is useful to return consistent API error messages.
|
||
|
"""
|
||
|
|
||
|
if not isinstance(message, str):
|
||
|
raise TypeError(f"Expected a string but got '{type(message)}'.")
|
||
|
if not len(message):
|
||
|
message = "An unknown error occurred."
|
||
|
|
||
|
return [{"msg": message}]
|