|
3 | 3 | from sqlmodel import exists, or_, select |
4 | 4 | from apps.system.models.system_model import UserWsModel, WorkspaceBase, WorkspaceEditor, WorkspaceModel |
5 | 5 | from apps.system.models.user import UserModel |
6 | | -from apps.system.schemas.system_schema import UserWsBase, UserWsDTO, UserWsOption, WorkspaceUser |
| 6 | +from apps.system.schemas.system_schema import UserWsBase, UserWsDTO, UserWsEditor, UserWsOption, WorkspaceUser |
7 | 7 | from common.core.deps import CurrentUser, SessionDep, Trans |
8 | 8 | from common.core.pagination import Paginator |
9 | 9 | from common.core.schemas import PaginatedResponse, PaginationParams |
@@ -118,6 +118,20 @@ async def create(session: SessionDep, creator: UserWsDTO): |
118 | 118 | session.add_all(db_model_list) |
119 | 119 | session.commit() |
120 | 120 |
|
| 121 | +@router.put("/uws") |
| 122 | +async def edit(session: SessionDep, editor: UserWsEditor): |
| 123 | + if not editor.oid or not editor.uid: |
| 124 | + raise RuntimeError("param [oid, uid] miss") |
| 125 | + db_model = session.exec(select(UserWsModel).where(UserWsModel.uid.in_(editor.uid), UserWsModel.oid == editor.oid)).first() |
| 126 | + if not db_model: |
| 127 | + raise RuntimeError("uws not exist") |
| 128 | + if editor.weight == db_model.weight: |
| 129 | + return |
| 130 | + |
| 131 | + db_model.weight = editor.weight |
| 132 | + session.add(db_model) |
| 133 | + session.commit() |
| 134 | + |
121 | 135 | @router.delete("/uws") |
122 | 136 | async def delete(session: SessionDep, dto: UserWsBase): |
123 | 137 | db_model_list: list[UserWsModel] = session.exec(select(UserWsModel).where(UserWsModel.uid.in_(dto.uid_list), UserWsModel.oid == dto.oid)).all() |
|
0 commit comments