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