feat: profit table and division of charts in statistics
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user