77from common .auth .authentication import has_permissions
88from common .constants .permission_constants import PermissionConstants
99from common .result import result
10- from knowledge .api .knowledge import KnowledgeCreateAPI , KnowledgeTreeReadAPI
10+ from knowledge .api .knowledge import KnowledgeBaseCreateAPI , KnowledgeLarkCreateAPI , \
11+ KnowledgeWebCreateAPI , KnowledgeYuqueCreateAPI , KnowledgeTreeReadAPI
1112from knowledge .serializers .knowledge import KnowledgeSerializer , KnowledgeTreeSerializer
1213
1314
1415class KnowledgeView (APIView ):
1516 authentication_classes = [TokenAuth ]
1617
17- @extend_schema (
18- methods = ['POST' ],
19- description = _ ('Create knowledge' ),
20- operation_id = _ ('Create knowledge' ),
21- parameters = KnowledgeCreateAPI .get_parameters (),
22- request = KnowledgeCreateAPI .get_request (),
23- responses = KnowledgeCreateAPI .get_response (),
24- tags = [_ ('Knowledge Base' )]
25- )
26- @has_permissions (PermissionConstants .KNOWLEDGE_CREATE .get_workspace_permission ())
27- def post (self , request : Request , workspace_id : str ):
28- return result .success (KnowledgeSerializer .Create (
29- data = {'user_id' : request .user .id , 'workspace_id' : workspace_id }
30- ).insert (request .data ))
31-
3218 @extend_schema (
3319 methods = ['GET' ],
3420 description = _ ('Get knowledge by module' ),
@@ -42,3 +28,79 @@ def get(self, request: Request, workspace_id: str):
4228 return result .success (KnowledgeTreeSerializer (
4329 data = {'workspace_id' : workspace_id }
4430 ).get_knowledge_list (request .query_params .get ('module_id' )))
31+
32+
33+ class KnowledgeBaseView (APIView ):
34+ authentication_classes = [TokenAuth ]
35+
36+ @extend_schema (
37+ methods = ['POST' ],
38+ description = _ ('Create base knowledge' ),
39+ operation_id = _ ('Create base knowledge' ),
40+ parameters = KnowledgeBaseCreateAPI .get_parameters (),
41+ request = KnowledgeBaseCreateAPI .get_request (),
42+ responses = KnowledgeBaseCreateAPI .get_response (),
43+ tags = [_ ('Knowledge Base' )]
44+ )
45+ @has_permissions (PermissionConstants .KNOWLEDGE_CREATE .get_workspace_permission ())
46+ def post (self , request : Request , workspace_id : str ):
47+ return result .success (KnowledgeSerializer .Create (
48+ data = {'user_id' : request .user .id , 'workspace_id' : workspace_id }
49+ ).insert (request .data ))
50+
51+
52+ class KnowledgeWebView (APIView ):
53+ authentication_classes = [TokenAuth ]
54+
55+ @extend_schema (
56+ methods = ['POST' ],
57+ description = _ ('Create web knowledge' ),
58+ operation_id = _ ('Create web knowledge' ),
59+ parameters = KnowledgeWebCreateAPI .get_parameters (),
60+ request = KnowledgeWebCreateAPI .get_request (),
61+ responses = KnowledgeWebCreateAPI .get_response (),
62+ tags = [_ ('Knowledge Base' )]
63+ )
64+ @has_permissions (PermissionConstants .KNOWLEDGE_CREATE .get_workspace_permission ())
65+ def post (self , request : Request , workspace_id : str ):
66+ return result .success (KnowledgeSerializer .Create (
67+ data = {'user_id' : request .user .id , 'workspace_id' : workspace_id }
68+ ).insert (request .data ))
69+
70+
71+ class KnowledgeLarkView (APIView ):
72+ authentication_classes = [TokenAuth ]
73+
74+ @extend_schema (
75+ methods = ['POST' ],
76+ description = _ ('Create lark knowledge' ),
77+ operation_id = _ ('Create lark knowledge' ),
78+ parameters = KnowledgeLarkCreateAPI .get_parameters (),
79+ request = KnowledgeLarkCreateAPI .get_request (),
80+ responses = KnowledgeLarkCreateAPI .get_response (),
81+ tags = [_ ('Knowledge Base' )]
82+ )
83+ @has_permissions (PermissionConstants .KNOWLEDGE_CREATE .get_workspace_permission ())
84+ def post (self , request : Request , workspace_id : str ):
85+ return result .success (KnowledgeSerializer .Create (
86+ data = {'user_id' : request .user .id , 'workspace_id' : workspace_id }
87+ ).insert (request .data ))
88+
89+
90+ class KnowledgeYuqueView (APIView ):
91+ authentication_classes = [TokenAuth ]
92+
93+ @extend_schema (
94+ methods = ['POST' ],
95+ description = _ ('Create yuque knowledge' ),
96+ operation_id = _ ('Create yuque knowledge' ),
97+ parameters = KnowledgeYuqueCreateAPI .get_parameters (),
98+ request = KnowledgeYuqueCreateAPI .get_request (),
99+ responses = KnowledgeYuqueCreateAPI .get_response (),
100+ tags = [_ ('Knowledge Base' )]
101+ )
102+ @has_permissions (PermissionConstants .KNOWLEDGE_CREATE .get_workspace_permission ())
103+ def post (self , request : Request , workspace_id : str ):
104+ return result .success (KnowledgeSerializer .Create (
105+ data = {'user_id' : request .user .id , 'workspace_id' : workspace_id }
106+ ).insert (request .data ))
0 commit comments