Files
Fulfillment-Backend/schemas/card_tag.py
2025-03-13 19:29:15 +04:00

66 lines
1008 B
Python

from typing import Optional
from schemas.base import BaseSchema, OkMessageSchema
# region Entities
class CardTagColorSchema(BaseSchema):
id: int
color: str
background_color: str
label: str
class BaseCardTagSchema(BaseSchema):
name: str
project_id: int
tag_color_id: int
class CardTagSchema(BaseCardTagSchema):
id: int
tag_color: CardTagColorSchema
# 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
class GetTagColorsResponse(BaseSchema):
colors: list[CardTagColorSchema]
# endregion