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
 |