4.8.6 merge (#1943)

* Dataset collection forbid (#1885)

* perf: tool call support same id

* feat: collection forbid

* feat: collection forbid

* Inheritance Permission for apps (#1897)

* feat: app schema define

chore: references of authapp

* feat: authApp method inheritance

* feat: create and update api

* feat: update

* feat: inheritance Permission controller for app.

* feat: abstract version of inheritPermission

* feat: ancestorId for apps

* chore: update app

* fix: inheritPermission abstract version

* feat: update folder defaultPermission

* feat: app update api

* chore: inheritance frontend

* chore: app list api

* feat: update defaultPermission in app deatil

* feat: backend api finished

* feat: app inheritance permission fe

* fix: app update defaultpermission causes collaborator miss

* fix: ts error

* chore: adjust the codes

* chore: i18n

chore: i18n

* chore: fe adjust and i18n

* chore: adjust the code

* feat: resume api;
chore: rewrite update api and inheritPermission methods

* chore: something

* chore: fe code adjusting

* feat: frontend adjusting

* chore: fe code adjusting

* chore: adjusting the code

* perf: fe loading

* format

* Inheritance fix (#1908)

* fix: SlideCard

* fix: authapp did not return parent app for inheritance app

* fix: fe adjusting

* feat: fe adjusing

* perf: inherit per ux

* doc

* fix: ts errors (#1916)

* perf: inherit permission

* fix: permission inherit

* Workflow type (#1938)

* perf: workflow type

tmp workflow

perf: workflow type

feat: custom field config

* perf: dynamic input

* perf: node classify

* perf: node classify

* perf: node classify

* perf: node classify

* fix: workflow custom input

* feat: text editor and customFeedback move to basic nodes

* feat: community system plugin

* fix: ts

* feat: exprEval plugin

* perf: workflow type

* perf: plugin important

* fix: default templates

* perf: markdown hr css

* lock

* perf: fetch url

* perf: new plugin version

* fix: chat histories update

* fix: collection paths invalid

* perf: app card ui

---------

Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com>
This commit is contained in:
Archer
2024-07-04 17:42:09 +08:00
committed by GitHub
parent babf03c218
commit a9cdece341
303 changed files with 18883 additions and 13149 deletions

View File

@@ -1,4 +1,4 @@
import { BoxProps, useDisclosure } from '@chakra-ui/react';
import { useDisclosure } from '@chakra-ui/react';
import {
CollaboratorItemType,
UpdateClbPermissionProps
@@ -13,6 +13,8 @@ import dynamic from 'next/dynamic';
import MemberListCard, { MemberListCardProps } from './MemberListCard';
import { useRequest2 } from '@fastgpt/web/hooks/useRequest';
import { useSystemStore } from '@/web/common/system/useSystemStore';
import { useConfirm } from '@fastgpt/web/hooks/useConfirm';
import { useI18n } from '@/web/context/I18n';
const AddMemberModal = dynamic(() => import('./AddMemberModal'));
const ManageModal = dynamic(() => import('./ManageModal'));
@@ -66,12 +68,28 @@ const CollaboratorContextProvider = ({
permissionList,
onUpdateCollaborators,
onDelOneCollaborator,
children,
refetchResource,
refreshDeps = [],
children
isInheritPermission,
hasParent
}: MemberManagerInputPropsType & {
children: (props: ChildrenProps) => ReactNode;
refetchResource?: () => void;
isInheritPermission?: boolean;
hasParent?: boolean;
}) => {
const onUpdateCollaboratorsThen = async (props: UpdateClbPermissionProps) => {
await onUpdateCollaborators(props);
refetchCollaboratorList();
};
const onDelOneCollaboratorThen = async (tmbId: string) => {
await onDelOneCollaborator(tmbId);
refetchCollaboratorList();
};
const { feConfigs } = useSystemStore();
const { commonT } = useI18n();
const {
data: collaboratorList = [],
@@ -86,19 +104,10 @@ const CollaboratorContextProvider = ({
},
{
manual: false,
refreshDeps
refreshDeps: refreshDeps
}
);
const onUpdateCollaboratorsThen = async (props: UpdateClbPermissionProps) => {
await onUpdateCollaborators(props);
refetchCollaboratorList();
};
const onDelOneCollaboratorThen = async (tmbId: string) => {
await onDelOneCollaborator(tmbId);
refetchCollaboratorList();
};
const getPerLabelList = useCallback(
(per: PermissionValueType) => {
const Per = new Permission({ per });
@@ -125,6 +134,7 @@ const CollaboratorContextProvider = ({
[permissionList]
);
const { ConfirmModal, openConfirm } = useConfirm({});
const {
isOpen: isOpenAddMember,
onOpen: onOpenAddMember,
@@ -147,11 +157,57 @@ const CollaboratorContextProvider = ({
onDelOneCollaborator: onDelOneCollaboratorThen,
getPerLabelList
};
const onOpenAddMemberModal = () => {
if (isInheritPermission && hasParent) {
openConfirm(
() => {
onOpenAddMember();
},
undefined,
commonT('permission.Remove InheritPermission Confirm')
)();
} else {
onOpenAddMember();
}
};
const onOpenManageModalModal = () => {
if (isInheritPermission && hasParent) {
openConfirm(
() => {
onOpenManageModal();
},
undefined,
commonT('permission.Remove InheritPermission Confirm')
)();
} else {
onOpenManageModal();
}
};
return (
<CollaboratorContext.Provider value={contextValue}>
{children({ onOpenAddMember, onOpenManageModal, MemberListCard })}
{isOpenAddMember && <AddMemberModal onClose={onCloseAddMember} />}
{isOpenManageModal && <ManageModal onClose={onCloseManageModal} />}
{children({
onOpenAddMember: onOpenAddMemberModal,
onOpenManageModal: onOpenManageModalModal,
MemberListCard
})}
{isOpenAddMember && (
<AddMemberModal
onClose={() => {
onCloseAddMember();
refetchResource?.();
}}
/>
)}
{isOpenManageModal && (
<ManageModal
onClose={() => {
onCloseManageModal();
refetchResource?.();
}}
/>
)}
<ConfirmModal />
</CollaboratorContext.Provider>
);
};