feat: departments and department sections
This commit is contained in:
99
schemas/department.py
Normal file
99
schemas/department.py
Normal 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
|
||||
Reference in New Issue
Block a user