51 lines
724 B
Python
51 lines
724 B
Python
from schemas.base import BaseSchema, OkMessageSchema
|
|
|
|
|
|
# region Entities
|
|
|
|
|
|
class BaseProjectSchema(BaseSchema):
|
|
name: str
|
|
|
|
|
|
class ProjectSchema(BaseProjectSchema):
|
|
id: int
|
|
|
|
|
|
class ProjectSchemaWithCount(ProjectSchema):
|
|
boards_count: int
|
|
|
|
|
|
# endregion
|
|
|
|
# region Requests
|
|
|
|
class CreateProjectRequest(BaseSchema):
|
|
project: BaseProjectSchema
|
|
|
|
|
|
class UpdateProjectRequest(BaseSchema):
|
|
project: ProjectSchema
|
|
|
|
# endregion
|
|
|
|
|
|
# region Responses
|
|
|
|
class GetProjectsResponse(BaseSchema):
|
|
projects: list[ProjectSchemaWithCount]
|
|
|
|
|
|
class CreateProjectResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class UpdateProjectResponse(OkMessageSchema):
|
|
pass
|
|
|
|
|
|
class DeleteProjectResponse(OkMessageSchema):
|
|
pass
|
|
|
|
# endregion
|