perf: list data

This commit is contained in:
archer 2025-01-13 13:47:59 +08:00
parent 62bcff2ff0
commit 923d0f85e9
No known key found for this signature in database
GPG Key ID: 4446499B846D4A9E
3 changed files with 24 additions and 8 deletions

View File

@ -19,6 +19,7 @@ import { getGroupsByTmbId } from '@fastgpt/service/support/permission/memberGrou
import { concatPer } from '@fastgpt/service/support/permission/controller';
import { getOrgIdSetWithParentByTmbId } from '@fastgpt/service/support/permission/org/controllers';
import { MongoTeamMember } from '@fastgpt/service/support/user/team/teamMemberSchema';
import { getVectorModel } from '@fastgpt/service/core/ai/model';
export type GetDatasetListBody = {
parentId: ParentIdType;
@ -174,22 +175,31 @@ async function handler(req: ApiRequestProps<GetDatasetListBody>) {
})
.filter((app) => app.permission.hasReadPer);
const tmbIds = formatDatasets.map((item) => item.tmbId);
const tmbIds = formatDatasets.map((item) => String(item.tmbId));
const memberInfo = await MongoTeamMember.find({ _id: { $in: tmbIds } }, '_id name avatar').lean();
const data = formatDatasets.map((item) => {
const member = memberInfo.find((member) => String(member._id) === String(item.tmbId));
return formatDatasets.map((item) => {
const member =
memberInfo.find((member) => String(member._id) === String(item.tmbId)) ?? memberInfo[0];
return {
...item,
_id: item._id,
avatar: item.avatar,
name: item.name,
intro: item.intro,
type: item.type,
permission: item.permission,
vectorModel: getVectorModel(item.vectorModel),
inheritPermission: item.inheritPermission,
tmbId: item.tmbId,
updateTime: item.updateTime,
private: item.privateDataset,
sourceMember: {
name: member!.name,
avatar: member!.avatar
}
};
});
return data;
}
export default NextAPI(handler);

View File

@ -222,7 +222,12 @@ const ListItem = () => {
color={'myGray.500'}
>
<HStack spacing={3.5}>
<UserBox sourceMember={app.sourceMember} fontSize="xs" avatarSize="1.25rem" />
<UserBox
sourceMember={app.sourceMember}
fontSize="xs"
avatarSize="1rem"
spacing={0.5}
/>
<PermissionIconText
private={app.private}
color={'myGray.500'}

View File

@ -262,7 +262,8 @@ function List() {
<UserBox
sourceMember={dataset.sourceMember}
fontSize="xs"
avatarSize="1.25rem"
avatarSize="1rem"
spacing={0.5}
/>
<PermissionIconText
flexShrink={0}