@@ -3,100 +3,31 @@ import { MongoDataset } from '@fastgpt/service/core/dataset/schema';
3
3
import { getVectorModel } from '@fastgpt/service/core/ai/model' ;
4
4
import type { DatasetSimpleItemType } from '@fastgpt/global/core/dataset/type.d' ;
5
5
import { NextAPI } from '@/service/middleware/entry' ;
6
- import {
7
- PerResourceTypeEnum ,
8
- ReadPermissionVal
9
- } from '@fastgpt/global/support/permission/constant' ;
10
- import { MongoResourcePermission } from '@fastgpt/service/support/permission/schema' ;
11
- import { DatasetPermission } from '@fastgpt/global/support/permission/dataset/controller' ;
6
+ import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant' ;
12
7
import { authUserPer } from '@fastgpt/service/support/permission/user/auth' ;
13
- import { DatasetDefaultPermissionVal } from '@fastgpt/global/support/permission/dataset/constant' ;
14
- import { getGroupsByTmbId } from '@fastgpt/service/support/permission/memberGroup/controllers' ;
15
- import { getGroupPer } from '@fastgpt/service/support/permission/controller' ;
8
+ import { DatasetTypeEnum } from '@fastgpt/global/core/dataset/constants' ;
16
9
17
10
/* get all dataset by teamId or tmbId */
18
11
async function handler ( req : NextApiRequest ) : Promise < DatasetSimpleItemType [ ] > {
19
- const {
20
- teamId,
21
- tmbId,
22
- permission : myPer
23
- } = await authUserPer ( {
12
+ const { teamId } = await authUserPer ( {
24
13
req,
25
14
authToken : true ,
26
15
authApiKey : true ,
27
16
per : ReadPermissionVal
28
17
} ) ;
29
18
30
- const myGroupIds = (
31
- await getGroupsByTmbId ( {
32
- tmbId,
33
- teamId
34
- } )
35
- ) . map ( ( item ) => String ( item . _id ) ) ;
36
-
37
- const [ myDatasets , perList ] = await Promise . all ( [
38
- MongoDataset . find ( {
39
- teamId
40
- } )
41
- . sort ( {
42
- updateTime : - 1
43
- } )
44
- . lean ( ) ,
45
- MongoResourcePermission . find ( {
46
- resourceType : PerResourceTypeEnum . dataset ,
47
- teamId,
48
- resourceId : {
49
- $exists : true
50
- }
51
- } ) . lean ( )
52
- ] ) ;
53
-
54
- const filterDatasets = myDatasets
55
- . map ( ( dataset ) => {
56
- const per = ( ( ) => {
57
- const myPerList = perList . filter (
58
- ( item ) =>
59
- String ( item . tmbId ) === String ( tmbId ) || myGroupIds . includes ( String ( item . groupId ) )
60
- ) ;
61
-
62
- const getPer = ( id : string ) => {
63
- const tmbPer = myPerList . find (
64
- ( item ) => String ( item . resourceId ) === id && ! ! item . tmbId
65
- ) ?. permission ;
66
- const groupPer = getGroupPer (
67
- myPerList
68
- . filter (
69
- ( item ) =>
70
- String ( item . resourceId ) === id && myGroupIds . includes ( String ( item . groupId ) )
71
- )
72
- . map ( ( item ) => item . permission )
73
- ) ;
74
-
75
- return new DatasetPermission ( {
76
- per : tmbPer ?? groupPer ?? DatasetDefaultPermissionVal ,
77
- isOwner : String ( dataset . tmbId ) === String ( tmbId ) || myPer . isOwner
78
- } ) ;
79
- } ;
80
-
81
- const parentDataset = myDatasets . find (
82
- ( item ) => String ( item . _id ) === String ( dataset . parentId )
83
- ) ;
84
-
85
- if ( dataset . inheritPermission && dataset . parentId && parentDataset ) {
86
- return getPer ( parentDataset . _id ) ;
87
- } else {
88
- return getPer ( dataset . _id ) ;
89
- }
90
- } ) ( ) ;
91
-
92
- return {
93
- ...dataset ,
94
- permission : per
95
- } ;
19
+ const myDatasets = await MongoDataset . find ( {
20
+ teamId,
21
+ type : {
22
+ $ne : DatasetTypeEnum . folder
23
+ }
24
+ } )
25
+ . sort ( {
26
+ updateTime : - 1
96
27
} )
97
- . filter ( ( app ) => app . permission . hasReadPer ) ;
28
+ . lean ( ) ;
98
29
99
- return filterDatasets . map ( ( item ) => ( {
30
+ return myDatasets . map ( ( item ) => ( {
100
31
_id : item . _id ,
101
32
avatar : item . avatar ,
102
33
name : item . name ,
0 commit comments