feat: added tags for cards, aligned status headers
This commit is contained in:
@@ -7,6 +7,7 @@ from schemas.attribute import CardAttributeSchema
|
||||
from schemas.base import BaseSchema, OkMessageSchema
|
||||
from schemas.billing import CardBillRequestSchema
|
||||
from schemas.board import BoardSchema
|
||||
from schemas.card_tag import CardTagSchema
|
||||
from schemas.client import ClientSchema
|
||||
from schemas.group import CardGroupSchema
|
||||
from schemas.marketplace import BaseMarketplaceSchema
|
||||
@@ -41,6 +42,7 @@ class CardSummary(BaseSchema):
|
||||
rank: int
|
||||
base_marketplace: Optional[BaseMarketplaceSchema] = None
|
||||
total_products: int
|
||||
tags: list[CardTagSchema]
|
||||
|
||||
shipment_warehouse_id: Optional[int]
|
||||
shipment_warehouse_name: Optional[str]
|
||||
@@ -100,6 +102,7 @@ class BaseCardSchema(BaseSchema):
|
||||
pallets: List[PalletSchema] = []
|
||||
boxes: List[BoxSchema] = []
|
||||
employees: List[CardEmployeesSchema] = []
|
||||
tags: List[CardTagSchema] = []
|
||||
|
||||
|
||||
class CardSchema(BaseCardSchema):
|
||||
@@ -115,6 +118,7 @@ class CardGeneralInfoSchema(BaseSchemaWithAttributes):
|
||||
board_id: int
|
||||
status_id: int
|
||||
client_id: Optional[int]
|
||||
tags: List[str]
|
||||
|
||||
|
||||
class ProductsAndServicesGeneralInfoSchema(BaseSchema):
|
||||
|
||||
53
schemas/card_tag.py
Normal file
53
schemas/card_tag.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from typing import Optional
|
||||
|
||||
from schemas.base import BaseSchema, OkMessageSchema
|
||||
|
||||
|
||||
# region Entities
|
||||
|
||||
class BaseCardTagSchema(BaseSchema):
|
||||
name: str
|
||||
project_id: int
|
||||
|
||||
|
||||
class CardTagSchema(BaseCardTagSchema):
|
||||
id: int
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Requests
|
||||
|
||||
class CreateTagRequest(BaseSchema):
|
||||
tag: BaseCardTagSchema
|
||||
|
||||
|
||||
class UpdateTagRequest(BaseSchema):
|
||||
tag: CardTagSchema
|
||||
|
||||
|
||||
class SwitchTagRequest(BaseSchema):
|
||||
tag_id: int
|
||||
card_id: Optional[int] = None
|
||||
group_id: Optional[int] = None
|
||||
|
||||
# endregion
|
||||
|
||||
# region Responses
|
||||
|
||||
class CreateTagResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class UpdateTagResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class DeleteTagResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
|
||||
class SwitchTagResponse(OkMessageSchema):
|
||||
pass
|
||||
|
||||
# endregion
|
||||
@@ -2,6 +2,7 @@ from typing import Optional
|
||||
|
||||
from schemas.attribute import AttributeSchema
|
||||
from schemas.base import BaseSchema, OkMessageSchema
|
||||
from schemas.card_tag import CardTagSchema
|
||||
|
||||
|
||||
# region Entities
|
||||
@@ -26,6 +27,7 @@ class ModuleSchema(BaseSchema):
|
||||
class ProjectSchema(ProjectGeneralInfoSchema):
|
||||
attributes: list[AttributeSchema]
|
||||
modules: list[ModuleSchema]
|
||||
tags: list[CardTagSchema]
|
||||
|
||||
|
||||
class FullProjectSchema(ProjectSchema):
|
||||
|
||||
@@ -32,6 +32,7 @@ class CommonProfitFilters(BaseSchema):
|
||||
project_id: int
|
||||
board_id: int
|
||||
card_status_id: int
|
||||
card_tag_id: int
|
||||
manager_id: int
|
||||
expense_tag_id: int
|
||||
income_tag_id: int
|
||||
|
||||
Reference in New Issue
Block a user