from typing import Optional from schemas.base import BaseSchema, BaseResponse # region Entity class ProjectSchema(BaseSchema): id: int name: str class CreateProjectSchema(BaseSchema): name: str class UpdateProjectSchema(BaseSchema): name: Optional[str] = None # endregion # region Requests class CreateProjectRequest(BaseSchema): project: CreateProjectSchema class UpdateProjectRequest(BaseSchema): project: UpdateProjectSchema # endregion # region Responses class GetProjectsResponse(BaseSchema): projects: list[ProjectSchema] class CreateProjectResponse(BaseResponse): project: ProjectSchema class UpdateProjectResponse(BaseResponse): pass class DeleteProjectResponse(BaseResponse): pass # endregion Responses