perf: Resource sort by name

This commit is contained in:
fit2cloud-chenyw
2025-08-06 10:41:41 +08:00
parent 9cd92dc12c
commit 099bae8dc3
5 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -78,7 +78,7 @@ async def query(
AiModelDetail.default_model)
if keyword is not None:
statement = statement.where(AiModelDetail.name.like(f"%{keyword}%"))
statement = statement.order_by(AiModelDetail.create_time.asc())
statement = statement.order_by(AiModelDetail.default_model.desc(), AiModelDetail.name, AiModelDetail.create_time)
items = session.exec(statement).all()
return items
+1 -1
View File
@@ -50,7 +50,7 @@ async def validator(session: SessionDep, id: int, virtual: Optional[int] = Query
@router.get("", response_model=list[AssistantModel])
async def query(session: SessionDep):
list_result = session.exec(select(AssistantModel).order_by(AssistantModel.create_time.asc())).all()
list_result = session.exec(select(AssistantModel).order_by(AssistantModel.name, AssistantModel.create_time)).all()
return list_result
@router.post("")
+1 -1
View File
@@ -59,7 +59,7 @@ async def pager(
select(UserModel, UserWsModel.oid.label('ws_oid'))
.join(UserWsModel, UserModel.id == UserWsModel.uid, isouter=True)
.where(UserModel.id.in_(uid_list))
.order_by(UserModel.create_time)
.order_by(UserModel.account, UserModel.create_time)
)
user_workspaces = session.exec(stmt).all()
merged = defaultdict(list)
+2 -2
View File
@@ -32,7 +32,7 @@ async def option_pager(
stmt = select(UserModel.id, UserModel.account, UserModel.name).where(
~exists().where(UserWsModel.uid == UserModel.id, UserWsModel.oid == oid),
UserModel.id != 1
).order_by(UserModel.create_time.asc())
).order_by(UserModel.account, UserModel.create_time)
if keyword:
keyword_pattern = f"%{keyword}%"
@@ -97,7 +97,7 @@ async def pager(
).where(
UserWsModel.oid == workspace_id,
UserModel.id != 1
).order_by(UserModel.create_time.asc())
).order_by(UserModel.account, UserModel.create_time)
if keyword:
keyword_pattern = f"%{keyword}%"
+2 -2
View File
@@ -46,13 +46,13 @@ def authenticate(*, session: Session, account: str, password: str) -> BaseUserDT
async def user_ws_options(session: Session, uid: int, trans: Optional[I18n] = None) -> list[UserWs]:
if uid == 1:
stmt = select(WorkspaceModel.id, WorkspaceModel.name).order_by(WorkspaceModel.create_time)
stmt = select(WorkspaceModel.id, WorkspaceModel.name).order_by(WorkspaceModel.name, WorkspaceModel.create_time)
else:
stmt = select(WorkspaceModel.id, WorkspaceModel.name).join(
UserWsModel, UserWsModel.oid == WorkspaceModel.id
).where(
UserWsModel.uid == uid,
).order_by(WorkspaceModel.create_time)
).order_by(WorkspaceModel.name, WorkspaceModel.create_time)
result = session.exec(stmt)
if not trans:
return result.all()