Skip to content

Commit b04434e

Browse files
committed
fix: add response classes for PUT, DELETE, and error handling
1 parent 8d674ca commit b04434e

1 file changed

Lines changed: 16 additions & 2 deletions

File tree

fastapi-base/src/schemas/common.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from typing import Any, Dict, Generic, Optional, TypeVar
22

3-
from pydantic import BaseModel
3+
from pydantic import BaseModel, Field
44

55
T = TypeVar("T")
66

77

88
class IResponseBase(BaseModel, Generic[T]): # type: ignore
99
message: str = ""
10-
metadata: Optional[Dict[str, Any]] = {}
10+
metadata: Optional[Dict[str, Any]] = Field(default_factory=dict)
1111
data: Optional[T] = None
1212

1313

@@ -18,3 +18,17 @@ class IGetResponseBase(IResponseBase[T], Generic[T]):
1818

1919
class IPostResponseBase(IResponseBase[T], Generic[T]):
2020
message: str = "Data created correctly"
21+
22+
23+
class IPutResponseBase(IResponseBase[T], Generic[T]):
24+
message: str = "Data updated correctly"
25+
26+
27+
class IDeleteResponseBase(IResponseBase[None]):
28+
message: str = "Data deleted correctly"
29+
30+
31+
class IErrorResponseBase(IResponseBase[None]):
32+
message: str = "An error occurred"
33+
error_code: Optional[str | int] = None
34+
details: Optional[Any] = None

0 commit comments

Comments
 (0)