66 lines
1.1 KiB
Python
66 lines
1.1 KiB
Python
from datetime import datetime
|
|
|
|
from schemas.base import BaseSchema, OkMessageSchema
|
|
from schemas.user import UserSchema
|
|
|
|
|
|
# region Entities
|
|
|
|
class BaseStatusSchema(BaseSchema):
|
|
name: str
|
|
board_id: int
|
|
|
|
|
|
class StatusSchema(BaseStatusSchema):
|
|
id: int
|
|
ordinal_number: int
|
|
is_deleted: bool = False
|
|
|
|
|
|
class CardStatusHistorySchema(BaseSchema):
|
|
user: UserSchema
|
|
changed_at: datetime
|
|
from_status: StatusSchema
|
|
to_status: StatusSchema
|
|
next_status_deadline: datetime | None
|
|
comment: str | None = None
|
|
|
|
# endregion
|
|
|
|
# region Requests
|
|
|
|
class CreateStatusRequest(BaseSchema):
|
|
status: BaseStatusSchema
|
|
|
|
|
|
class UpdateStatusRequest(BaseSchema):
|
|
status: StatusSchema
|
|
|
|
|
|
class UpdateStatusOrderRequest(BaseSchema):
|
|
board_id: int
|
|
status_id: int
|
|
new_ordinal_number: int
|
|
|
|
# endregion
|
|
|
|
|
|
# region Responses
|
|
|
|
class CreateStatusResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class UpdateStatusResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class UpdateStatusOrderResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class DeleteStatusResponse(OkMessageSchema):
|
|
pass
|
|
|
|
# endregion
|