feat: additional expenses

This commit is contained in:
2024-11-26 01:36:59 +04:00
parent 81d5261af1
commit 48c88cb93a
15 changed files with 318 additions and 80 deletions

View File

@@ -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
View 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