fix: app select dataset (#2660)

This commit is contained in:
Finley Ge
2024-09-10 13:50:23 +08:00
committed by GitHub
parent 08190c2f0d
commit de59b3d2e5
4 changed files with 29 additions and 11 deletions

View File

@@ -6,7 +6,6 @@ import {
Flex,
ModalBody,
useDisclosure,
Image,
HStack,
Switch,
ModalFooter

View File

@@ -27,10 +27,7 @@ async function handler(req: NextApiRequest): Promise<DatasetSimpleItemType[]> {
const [myDatasets, rpList] = await Promise.all([
MongoDataset.find({
teamId,
type: {
$ne: DatasetTypeEnum.folder
}
teamId
})
.sort({
updateTime: -1
@@ -45,9 +42,29 @@ async function handler(req: NextApiRequest): Promise<DatasetSimpleItemType[]> {
const filterDatasets = myDatasets
.map((dataset) => {
const perVal = rpList.find(
(item) => String(item.resourceId) === String(dataset._id)
)?.permission;
const perVal = (() => {
const perVal = rpList.find(
(item) => String(item.resourceId) === String(dataset._id)
)?.permission;
if (perVal) {
return perVal;
}
if (dataset.inheritPermission && dataset.parentId) {
const parentDataset = myDatasets.find(
(item) => String(item._id) === String(dataset.parentId)
);
if (parentDataset) {
const parentPerVal =
rpList.find((item) => String(item.resourceId) === String(parentDataset._id))
?.permission ?? parentDataset.defaultPermission;
if (parentPerVal) {
return parentPerVal;
}
}
}
})();
const Per = new DatasetPermission({
per: perVal ?? dataset.defaultPermission,
isOwner: String(dataset.tmbId) === tmbId || tmbPer.isOwner

View File

@@ -10,7 +10,6 @@ import {
HStack
} from '@chakra-ui/react';
import { SmallAddIcon } from '@chakra-ui/icons';
import { useSystemStore } from '@/web/common/system/useSystemStore';
import type { AppSimpleEditFormType } from '@fastgpt/global/core/app/type.d';
import { useRouter } from 'next/router';
import { useTranslation } from 'next-i18next';
@@ -79,7 +78,6 @@ const EditForm = ({
const { appDetail } = useContextSelector(AppContext, (v) => v);
const { allDatasets } = useDatasetStore();
const { llmModelList } = useSystemStore();
const [, startTst] = useTransition();
const selectDatasets = useMemo(
@@ -506,6 +504,8 @@ const EditForm = ({
...e
}
}));
console.dir(e);
}}
/>
)}