mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
feat: Change user weight api
This commit is contained in:
@@ -3,7 +3,7 @@ from fastapi import APIRouter, Query
|
||||
from sqlmodel import exists, or_, select
|
||||
from apps.system.models.system_model import UserWsModel, WorkspaceBase, WorkspaceEditor, WorkspaceModel
|
||||
from apps.system.models.user import UserModel
|
||||
from apps.system.schemas.system_schema import UserWsBase, UserWsDTO, UserWsOption, WorkspaceUser
|
||||
from apps.system.schemas.system_schema import UserWsBase, UserWsDTO, UserWsEditor, UserWsOption, WorkspaceUser
|
||||
from common.core.deps import CurrentUser, SessionDep, Trans
|
||||
from common.core.pagination import Paginator
|
||||
from common.core.schemas import PaginatedResponse, PaginationParams
|
||||
@@ -118,6 +118,20 @@ async def create(session: SessionDep, creator: UserWsDTO):
|
||||
session.add_all(db_model_list)
|
||||
session.commit()
|
||||
|
||||
@router.put("/uws")
|
||||
async def edit(session: SessionDep, editor: UserWsEditor):
|
||||
if not editor.oid or not editor.uid:
|
||||
raise RuntimeError("param [oid, uid] miss")
|
||||
db_model = session.exec(select(UserWsModel).where(UserWsModel.uid.in_(editor.uid), UserWsModel.oid == editor.oid)).first()
|
||||
if not db_model:
|
||||
raise RuntimeError("uws not exist")
|
||||
if editor.weight == db_model.weight:
|
||||
return
|
||||
|
||||
db_model.weight = editor.weight
|
||||
session.add(db_model)
|
||||
session.commit()
|
||||
|
||||
@router.delete("/uws")
|
||||
async def delete(session: SessionDep, dto: UserWsBase):
|
||||
db_model_list: list[UserWsModel] = session.exec(select(UserWsModel).where(UserWsModel.uid.in_(dto.uid_list), UserWsModel.oid == dto.oid)).all()
|
||||
|
||||
@@ -50,7 +50,11 @@ class UserWsBase(BaseModel):
|
||||
oid: int
|
||||
class UserWsDTO(UserWsBase):
|
||||
weight: int = 0
|
||||
|
||||
|
||||
class UserWsEditor(BaseModel):
|
||||
uid: int
|
||||
oid: int
|
||||
weight: int = 0
|
||||
|
||||
class UserInfoDTO(UserEditor):
|
||||
language: str = "zh-CN"
|
||||
|
||||
Reference in New Issue
Block a user