feat: departments and department sections

This commit is contained in:
2024-12-17 12:42:41 +04:00
parent e5712224e1
commit 144811ec87
6 changed files with 428 additions and 0 deletions

99
schemas/department.py Normal file
View File

@@ -0,0 +1,99 @@
from schemas.base import BaseSchema, OkMessageSchema
from schemas.user import UserSchema
# region Entities
class DepartmentSectionBaseSchema(BaseSchema):
name: str
department_id: int
class DepartmentSectionSchema(DepartmentSectionBaseSchema):
id: int
users: list[UserSchema] = []
class DepartmentBaseSchema(BaseSchema):
name: str
class DepartmentSchema(DepartmentBaseSchema):
id: int
sections: list[DepartmentSectionSchema] = []
# endregion
# region Requests
class CreateDepartmentRequest(BaseSchema):
department: DepartmentBaseSchema
class UpdateDepartmentRequest(BaseSchema):
department: DepartmentSchema
class CreateDepartmentSectionRequest(BaseSchema):
section: DepartmentSectionBaseSchema
class UpdateDepartmentSectionRequest(BaseSchema):
section: DepartmentSectionSchema
class AddUserRequest(BaseSchema):
user_id: int
section_id: int
class DeleteUserRequest(BaseSchema):
user_id: int
section_id: int
# endregion
# region Responses
class GetDepartmentsResponse(BaseSchema):
departments: list[DepartmentSchema]
class CreateDepartmentResponse(OkMessageSchema):
pass
class UpdateDepartmentResponse(OkMessageSchema):
pass
class DeleteDepartmentResponse(OkMessageSchema):
pass
class CreateDepartmentSectionResponse(OkMessageSchema):
pass
class UpdateDepartmentSectionResponse(OkMessageSchema):
pass
class DeleteDepartmentSectionResponse(OkMessageSchema):
pass
class GetAvailableUsersForDepartmentSectionResponse(BaseSchema):
users: list[UserSchema]
class AddUserResponse(OkMessageSchema):
pass
class DeleteUserResponse(OkMessageSchema):
pass
# endregion