Skip to content

Commit a669a60

Browse files
authored
fix: collabrator (#4660)
* fix: inherit permission of orgs * fix: org members' permission bug
1 parent 25dc898 commit a669a60

File tree

2 files changed

+26
-22
lines changed

2 files changed

+26
-22
lines changed

packages/service/support/permission/inheritPermission.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { mongoSessionRun } from '../../common/mongo/sessionRun';
2-
import { MongoResourcePermission } from './schema';
3-
import type { ClientSession, Model } from 'mongoose';
1+
import type { ParentIdType } from '@fastgpt/global/common/parentFolder/type';
2+
import type { RequireOnlyOne } from '@fastgpt/global/common/type/utils';
43
import type { PerResourceTypeEnum } from '@fastgpt/global/support/permission/constant';
54
import type { PermissionValueType } from '@fastgpt/global/support/permission/type';
5+
import type { ClientSession, Model } from 'mongoose';
6+
import { mongoSessionRun } from '../../common/mongo/sessionRun';
67
import { getResourceClbsAndGroups } from './controller';
7-
import type { RequireOnlyOne } from '@fastgpt/global/common/type/utils';
8-
import type { ParentIdType } from '@fastgpt/global/common/parentFolder/type';
8+
import { MongoResourcePermission } from './schema';
99

1010
export type SyncChildrenPermissionResourceType = {
1111
_id: string;
@@ -193,6 +193,7 @@ export async function syncCollaborators({
193193
resourceType: resourceType,
194194
tmbId: item.tmbId,
195195
groupId: item.groupId,
196+
orgId: item.orgId,
196197
permission: item.permission
197198
})),
198199
{

projects/app/src/components/support/permission/MemberManager/MemberModal.tsx

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1+
import Path from '@/components/common/folder/Path';
2+
import { getTeamMembers } from '@/web/support/user/team/api';
3+
import { getGroupList } from '@/web/support/user/team/group/api';
4+
import useOrg from '@/web/support/user/team/org/hooks/useOrg';
15
import { useUserStore } from '@/web/support/user/useUserStore';
26
import { ChevronDownIcon } from '@chakra-ui/icons';
37
import { Box, Button, Flex, Grid, HStack, ModalBody, ModalFooter, Text } from '@chakra-ui/react';
8+
import {
9+
DEFAULT_ORG_AVATAR,
10+
DEFAULT_TEAM_AVATAR,
11+
DEFAULT_USER_AVATAR
12+
} from '@fastgpt/global/common/system/constants';
13+
import { UpdateClbPermissionProps } from '@fastgpt/global/support/permission/collaborator';
14+
import { MemberGroupListItemType } from '@fastgpt/global/support/permission/memberGroup/type';
415
import { DefaultGroupName } from '@fastgpt/global/support/user/team/group/constant';
16+
import { OrgListItemType } from '@fastgpt/global/support/user/team/org/type';
17+
import { TeamMemberItemType } from '@fastgpt/global/support/user/team/type';
518
import MyAvatar from '@fastgpt/web/components/common/Avatar';
619
import MyIcon from '@fastgpt/web/components/common/Icon';
720
import SearchInput from '@fastgpt/web/components/common/Input/SearchInput';
821
import MyModal from '@fastgpt/web/components/common/MyModal';
922
import { useRequest2 } from '@fastgpt/web/hooks/useRequest';
23+
import { useScrollPagination } from '@fastgpt/web/hooks/useScrollPagination';
1024
import { useTranslation } from 'next-i18next';
25+
import { ValueOf } from 'next/dist/shared/lib/constants';
1126
import { useMemo, useRef, useState } from 'react';
12-
import PermissionSelect from './PermissionSelect';
13-
import {
14-
DEFAULT_ORG_AVATAR,
15-
DEFAULT_TEAM_AVATAR,
16-
DEFAULT_USER_AVATAR
17-
} from '@fastgpt/global/common/system/constants';
18-
import Path from '@/components/common/folder/Path';
19-
import { OrgListItemType } from '@fastgpt/global/support/user/team/org/type';
2027
import { useContextSelector } from 'use-context-selector';
2128
import { CollaboratorContext } from './context';
22-
import { getTeamMembers } from '@/web/support/user/team/api';
23-
import { getGroupList } from '@/web/support/user/team/group/api';
24-
import { useScrollPagination } from '@fastgpt/web/hooks/useScrollPagination';
2529
import MemberItemCard from './MemberItemCard';
26-
import useOrg from '@/web/support/user/team/org/hooks/useOrg';
27-
import { TeamMemberItemType } from '@fastgpt/global/support/user/team/type';
28-
import { MemberGroupListItemType } from '@fastgpt/global/support/permission/memberGroup/type';
29-
import { UpdateClbPermissionProps } from '@fastgpt/global/support/permission/collaborator';
30-
import { ValueOf } from 'next/dist/shared/lib/constants';
30+
import PermissionSelect from './PermissionSelect';
3131

3232
const HoverBoxStyle = {
3333
bgColor: 'myGray.50',
@@ -348,6 +348,9 @@ function MemberModal({
348348
const isChecked = !!selectedMemberList.find(
349349
(v) => v.tmbId === member.tmbId
350350
);
351+
const collaborator = collaboratorList?.find(
352+
(v) => v.tmbId === member.tmbId
353+
);
351354
return (
352355
<MemberItemCard
353356
avatar={member.avatar}
@@ -362,7 +365,7 @@ function MemberModal({
362365
});
363366
}}
364367
isChecked={isChecked}
365-
permission={member.permission.value}
368+
permission={collaborator?.permission.value}
366369
addOnly={addOnly && !!member.permission.value}
367370
orgs={member.orgs}
368371
/>

0 commit comments

Comments
 (0)