feat: allow adding tags when creating collections via api (#2268)

* feat: allow adding tags when creating collections via api

* fix
This commit is contained in:
heheer
2024-08-05 18:33:58 +08:00
committed by GitHub
parent fe71efbbd2
commit 025d405fe2
5 changed files with 45 additions and 10 deletions

View File

@@ -21,7 +21,7 @@ import { NextAPI } from '@/service/middleware/entry';
import { CreateCollectionResponse } from '@/global/core/dataset/api';
async function handler(req: NextApiRequest): CreateCollectionResponse {
const { datasetId, parentId, fileId } = req.body as FileIdCreateDatasetCollectionParams;
const { datasetId, parentId, fileId, ...body } = req.body as FileIdCreateDatasetCollectionParams;
const trainingType = TrainingModeEnum.chunk;
const { teamId, tmbId, dataset } = await authDataset({
req,
@@ -54,6 +54,7 @@ async function handler(req: NextApiRequest): CreateCollectionResponse {
return mongoSessionRun(async (session) => {
// 4. create collection
const { _id: collectionId } = await createOneCollection({
...body,
teamId,
tmbId,
name: filename,

View File

@@ -205,7 +205,6 @@ const HeaderTagPopOver = () => {
variant={'unstyled'}
onClick={() => {
onOpenTagManageModal();
setCheckedTags([]);
}}
>
{t('dataset:tag.manage')}

View File

@@ -21,7 +21,6 @@ import MyInput from '@/components/MyInput';
import { DatasetTagType } from '@fastgpt/global/core/dataset/type';
import { useScrollPagination } from '@fastgpt/web/hooks/useScrollPagination';
import EmptyTip from '@fastgpt/web/components/common/EmptyTip';
import { useQuery } from '@tanstack/react-query';
import PopoverConfirm from '@fastgpt/web/components/common/MyPopover/PopoverConfirm';
import MyBox from '@fastgpt/web/components/common/MyBox';
@@ -30,7 +29,7 @@ const TagManageModal = ({ onClose }: { onClose: () => void }) => {
const datasetDetail = useContextSelector(DatasetPageContext, (v) => v.datasetDetail);
const loadDatasetTags = useContextSelector(DatasetPageContext, (v) => v.loadDatasetTags);
const loadAllDatasetTags = useContextSelector(DatasetPageContext, (v) => v.loadAllDatasetTags);
const { getData } = useContextSelector(CollectionPageContext, (v) => v);
const { getData, collections } = useContextSelector(CollectionPageContext, (v) => v);
const tagInputRef = useRef<HTMLInputElement>(null);
const editInputRef = useRef<HTMLInputElement>(null);
@@ -156,7 +155,8 @@ const TagManageModal = ({ onClose }: { onClose: () => void }) => {
});
const { data: tagUsages } = useRequest2(() => getTagUsage(datasetDetail._id), {
manual: false
manual: false,
refreshDeps: [collections]
});
return (