feat: additional expenses
This commit is contained in:
@@ -47,8 +47,8 @@ class PaginationSchema(BaseSchema):
|
||||
|
||||
|
||||
class PaginationInfoSchema(BaseSchema):
|
||||
total_pages: int
|
||||
total_items: int
|
||||
total_pages: int = 0
|
||||
total_items: int = 0
|
||||
|
||||
|
||||
class BaseEnumSchema(BaseSchema):
|
||||
|
||||
52
schemas/expense.py
Normal file
52
schemas/expense.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import datetime
|
||||
from typing import Optional
|
||||
|
||||
from schemas.base import OkMessageSchema, BaseSchema, PaginationInfoSchema
|
||||
from schemas.user import UserSchema
|
||||
|
||||
|
||||
# region Entities
|
||||
|
||||
class ExpenseSchemaBase(BaseSchema):
|
||||
id: int
|
||||
name: str
|
||||
comment: str
|
||||
amount: float
|
||||
created_by_user: UserSchema
|
||||
spent_date: datetime.date
|
||||
|
||||
|
||||
class UpdateExpenseSchema(BaseSchema):
|
||||
id: Optional[int] = None
|
||||
name: str
|
||||
comment: Optional[str] = ""
|
||||
amount: float
|
||||
spent_date: datetime.date
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Requests
|
||||
|
||||
|
||||
class UpdateExpenseRequest(BaseSchema):
|
||||
expense: UpdateExpenseSchema
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Responses
|
||||
|
||||
class GetAllExpensesResponse(BaseSchema):
|
||||
expenses: list[ExpenseSchemaBase]
|
||||
pagination_info: PaginationInfoSchema
|
||||
|
||||
|
||||
class UpdateExpenseResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class DeleteExpenseResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
# endregion
|
||||
Reference in New Issue
Block a user