Files
Fulfillment-Backend/schemas/department.py

100 lines
1.7 KiB
Python

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