feat: modules and module-editor pages
This commit is contained in:
@ -1,4 +1,8 @@
|
||||
from schemas.base import BaseSchema
|
||||
from typing import Optional
|
||||
|
||||
from schemas.attribute import ModuleAttributeSchema
|
||||
from schemas.base import BaseSchema, BaseResponse
|
||||
|
||||
|
||||
# region Entity
|
||||
|
||||
@ -15,11 +19,41 @@ class ModuleSchema(BaseSchema):
|
||||
id: int
|
||||
key: str
|
||||
label: str
|
||||
description: str
|
||||
description: Optional[str]
|
||||
is_built_in: bool
|
||||
depends_on: list["ModuleSchema"]
|
||||
tabs: list[ModuleTabSchema]
|
||||
|
||||
|
||||
class ModuleWithAttributesSchema(ModuleSchema):
|
||||
attributes: list[ModuleAttributeSchema]
|
||||
|
||||
|
||||
class UpdateModuleCommonInfoSchema(BaseSchema):
|
||||
label: str
|
||||
description: Optional[str]
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
|
||||
# region Requests
|
||||
|
||||
|
||||
class AddAttributeRequest(BaseSchema):
|
||||
attribute_id: int
|
||||
module_id: int
|
||||
|
||||
|
||||
class DeleteAttributeRequest(BaseSchema):
|
||||
attribute_id: int
|
||||
module_id: int
|
||||
|
||||
|
||||
class UpdateModuleCommonInfoRequest(BaseSchema):
|
||||
entity: UpdateModuleCommonInfoSchema
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Response
|
||||
@ -29,4 +63,28 @@ class GetAllModulesResponse(BaseSchema):
|
||||
items: list[ModuleSchema]
|
||||
|
||||
|
||||
class GetAllWithAttributesResponse(BaseSchema):
|
||||
items: list[ModuleWithAttributesSchema]
|
||||
|
||||
|
||||
class GetByIdWithAttributesResponse(BaseSchema):
|
||||
entity: ModuleWithAttributesSchema
|
||||
|
||||
|
||||
class UpdateModuleCommonInfoResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
class DeleteModuleResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
class AddAttributeResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
class DeleteAttributeResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
Reference in New Issue
Block a user