11from enum import Enum
2+ from typing import Any
23
34from fastapi import HTTPException
45from pydantic import BaseModel
@@ -17,7 +18,7 @@ class ErrorResponse(BaseModel):
1718 type : str = "ApplicationException"
1819 message : str = "The requested operation failed"
1920 debug : str = "An unknown and unhandled exception occurred in the API"
20- extra : dict [str , str ] | None = None
21+ extra : dict [str , Any ] | None = None
2122
2223
2324class ApplicationException (Exception ):
@@ -26,13 +27,13 @@ class ApplicationException(Exception):
2627 type : str = "ApplicationException"
2728 message : str = "The requested operation failed"
2829 debug : str = "An unknown and unhandled exception occurred in the API"
29- extra : dict [str , str ] | None = None
30+ extra : dict [str , Any ] | None = None
3031
3132 def __init__ (
3233 self ,
3334 message : str = "The requested operation failed" ,
3435 debug : str = "An unknown and unhandled exception occurred in the API" ,
35- extra : dict [str , str ] | None = None ,
36+ extra : dict [str , Any ] | None = None ,
3637 status : int = 500 ,
3738 severity : ExceptionSeverity = ExceptionSeverity .ERROR ,
3839 ):
@@ -43,7 +44,7 @@ def __init__(
4344 self .extra = extra
4445 self .severity = severity
4546
46- def dict (self ) -> dict [str , int | str | dict [str , str ] | None ]:
47+ def dict (self ) -> dict [str , int | str | dict [str , Any ] | None ]:
4748 return {
4849 "status" : self .status ,
4950 "type" : self .type ,
@@ -58,7 +59,7 @@ def __init__(
5859 self ,
5960 message : str = "You do not have the required permissions" ,
6061 debug : str = "Action denied because of insufficient permissions" ,
61- extra : dict [str , str ] | None = None ,
62+ extra : dict [str , Any ] | None = None ,
6263 ):
6364 super ().__init__ (message , debug , extra , request_status .HTTP_403_FORBIDDEN , severity = ExceptionSeverity .WARNING )
6465 self .type = self .__class__ .__name__
@@ -69,7 +70,7 @@ def __init__(
6970 self ,
7071 message : str = "The requested resource could not be found" ,
7172 debug : str = "The requested resource could not be found" ,
72- extra : dict [str , str ] | None = None ,
73+ extra : dict [str , Any ] | None = None ,
7374 ):
7475 super ().__init__ (message , debug , extra , request_status .HTTP_404_NOT_FOUND )
7576 self .type = self .__class__ .__name__
@@ -80,7 +81,7 @@ def __init__(
8081 self ,
8182 message : str = "Invalid data for the operation" ,
8283 debug : str = "Unable to complete the requested operation with the given input values." ,
83- extra : dict [str , str ] | None = None ,
84+ extra : dict [str , Any ] | None = None ,
8485 ):
8586 super ().__init__ (message , debug , extra , request_status .HTTP_400_BAD_REQUEST )
8687 self .type = self .__class__ .__name__
@@ -91,7 +92,7 @@ def __init__(
9192 self ,
9293 message : str = "The received data is invalid" ,
9394 debug : str = "Values are invalid for requested operation." ,
94- extra : dict [str , str ] | None = None ,
95+ extra : dict [str , Any ] | None = None ,
9596 ):
9697 super ().__init__ (message , debug , extra , request_status .HTTP_422_UNPROCESSABLE_ENTITY )
9798 self .type = self .__class__ .__name__
0 commit comments