mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 21:13:50 +00:00
fix: app select dataset (#2660)
This commit is contained in:
@@ -90,13 +90,15 @@ export const authDatasetByTmbId = async ({
|
|||||||
const { dataset: parent } = await authDatasetByTmbId({
|
const { dataset: parent } = await authDatasetByTmbId({
|
||||||
tmbId,
|
tmbId,
|
||||||
datasetId: dataset.parentId,
|
datasetId: dataset.parentId,
|
||||||
per
|
per,
|
||||||
|
isRoot
|
||||||
});
|
});
|
||||||
|
|
||||||
const Per = new DatasetPermission({
|
const Per = new DatasetPermission({
|
||||||
per: parent.permission.value,
|
per: parent.permission.value,
|
||||||
isOwner
|
isOwner
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
Per,
|
Per,
|
||||||
defaultPermission: parent.defaultPermission
|
defaultPermission: parent.defaultPermission
|
||||||
|
@@ -6,7 +6,6 @@ import {
|
|||||||
Flex,
|
Flex,
|
||||||
ModalBody,
|
ModalBody,
|
||||||
useDisclosure,
|
useDisclosure,
|
||||||
Image,
|
|
||||||
HStack,
|
HStack,
|
||||||
Switch,
|
Switch,
|
||||||
ModalFooter
|
ModalFooter
|
||||||
|
@@ -27,10 +27,7 @@ async function handler(req: NextApiRequest): Promise<DatasetSimpleItemType[]> {
|
|||||||
|
|
||||||
const [myDatasets, rpList] = await Promise.all([
|
const [myDatasets, rpList] = await Promise.all([
|
||||||
MongoDataset.find({
|
MongoDataset.find({
|
||||||
teamId,
|
teamId
|
||||||
type: {
|
|
||||||
$ne: DatasetTypeEnum.folder
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.sort({
|
.sort({
|
||||||
updateTime: -1
|
updateTime: -1
|
||||||
@@ -45,9 +42,29 @@ async function handler(req: NextApiRequest): Promise<DatasetSimpleItemType[]> {
|
|||||||
|
|
||||||
const filterDatasets = myDatasets
|
const filterDatasets = myDatasets
|
||||||
.map((dataset) => {
|
.map((dataset) => {
|
||||||
const perVal = rpList.find(
|
const perVal = (() => {
|
||||||
(item) => String(item.resourceId) === String(dataset._id)
|
const perVal = rpList.find(
|
||||||
)?.permission;
|
(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({
|
const Per = new DatasetPermission({
|
||||||
per: perVal ?? dataset.defaultPermission,
|
per: perVal ?? dataset.defaultPermission,
|
||||||
isOwner: String(dataset.tmbId) === tmbId || tmbPer.isOwner
|
isOwner: String(dataset.tmbId) === tmbId || tmbPer.isOwner
|
||||||
|
@@ -10,7 +10,6 @@ import {
|
|||||||
HStack
|
HStack
|
||||||
} from '@chakra-ui/react';
|
} from '@chakra-ui/react';
|
||||||
import { SmallAddIcon } from '@chakra-ui/icons';
|
import { SmallAddIcon } from '@chakra-ui/icons';
|
||||||
import { useSystemStore } from '@/web/common/system/useSystemStore';
|
|
||||||
import type { AppSimpleEditFormType } from '@fastgpt/global/core/app/type.d';
|
import type { AppSimpleEditFormType } from '@fastgpt/global/core/app/type.d';
|
||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
import { useTranslation } from 'next-i18next';
|
import { useTranslation } from 'next-i18next';
|
||||||
@@ -79,7 +78,6 @@ const EditForm = ({
|
|||||||
const { appDetail } = useContextSelector(AppContext, (v) => v);
|
const { appDetail } = useContextSelector(AppContext, (v) => v);
|
||||||
|
|
||||||
const { allDatasets } = useDatasetStore();
|
const { allDatasets } = useDatasetStore();
|
||||||
const { llmModelList } = useSystemStore();
|
|
||||||
const [, startTst] = useTransition();
|
const [, startTst] = useTransition();
|
||||||
|
|
||||||
const selectDatasets = useMemo(
|
const selectDatasets = useMemo(
|
||||||
@@ -506,6 +504,8 @@ const EditForm = ({
|
|||||||
...e
|
...e
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
console.dir(e);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
Reference in New Issue
Block a user