MCPcopy Create free account
hub / github.com/1Panel-dev/MaxKB / put

Method put

apps/knowledge/views/knowledge.py:193–213  ·  view source on GitHub ↗
(self, request: Request, workspace_id: str)

Source from the content-addressed store, hash-verified

191 RoleConstants.WORKSPACE_MANAGE.get_workspace_role()
192 )
193 def put(self, request: Request, workspace_id: str):
194 id_list = request.data.get('id_list', [])
195 permitted_ids = check_batch_permissions(
196 request, id_list, 'knowledge_id',
197 (PermissionConstants.KNOWLEDGE_EDIT.get_workspace_knowledge_permission(),
198 PermissionConstants.KNOWLEDGE_EDIT.get_workspace_permission_workspace_manage_role(),
199 ViewPermission([RoleConstants.USER.get_workspace_role()],
200 [PermissionConstants.KNOWLEDGE.get_workspace_knowledge_permission()],
201 CompareConstants.AND),
202 RoleConstants.WORKSPACE_MANAGE.get_workspace_role()),
203 workspace_id=workspace_id
204 )
205
206 @log(menu='Knowledge Base', operate='Batch move knowledge',
207 get_operation_object=lambda r, k: get_knowledge_operation_object_batch(permitted_ids))
208 def inner(view, r, **kwargs):
209 return KnowledgeBatchOperateSerializer(
210 data={'workspace_id': workspace_id, 'user_id': request.user.id}
211 ).batch_move({'id_list': permitted_ids, 'folder_id': request.data.get('folder_id')})
212
213 return result.success(inner(self, request, workspace_id=workspace_id))
214
215 class Page(APIView):
216 authentication_classes = [TokenAuth]

Callers

nothing calls this directly

Calls 8

check_batch_permissionsFunction · 0.90
ViewPermissionClass · 0.90
innerFunction · 0.50
getMethod · 0.45
get_workspace_roleMethod · 0.45
successMethod · 0.45

Tested by

no test coverage detected