Skip to content

Commit 7ba0694

Browse files
fix: extras typing is not always dict[str,str]
1 parent 961a7b2 commit 7ba0694

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

api/src/common/exceptions.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from enum import Enum
2+
from typing import Any
23

34
from fastapi import HTTPException
45
from 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

2324
class 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

Comments
 (0)