feat: profit table and division of charts in statistics

This commit is contained in:
2024-11-17 00:59:36 +04:00
parent 3453c394e5
commit 3dbbae2173
5 changed files with 324 additions and 69 deletions

View File

@@ -1,31 +1,48 @@
import datetime
from typing import List, Tuple
from enums.profit_table_group_by import ProfitTableGroupBy
from schemas.base import BaseSchema
# region Entities
class ProfitDataItem(BaseSchema):
class ProfitChartDataItem(BaseSchema):
date: datetime.date
revenue: float
profit: float
deals_count: int
class ProfitTableDataItem(BaseSchema):
grouped_value: datetime.date | str | int
revenue: float
profit: float
deals_count: int
# endregion
# region Requests
class GetProfitDataRequest(BaseSchema):
class GetProfitChartDataRequest(BaseSchema):
date_range: Tuple[datetime.date, datetime.date]
client_id: int
base_marketplace_key: str
deal_status_id: int
class GetProfitTableDataRequest(BaseSchema):
date_range: Tuple[datetime.date, datetime.date]
group_table_by: ProfitTableGroupBy
# endregion
# region Responses
class GetProfitDataResponse(BaseSchema):
data: List[ProfitDataItem]
class GetProfitChartDataResponse(BaseSchema):
data: List[ProfitChartDataItem]
class GetProfitTableDataResponse(BaseSchema):
data: List[ProfitTableDataItem]
# endregion