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
 |