|
21 | 21 | from application.models import ApplicationKnowledgeMapping |
22 | 22 | from common.config.embedding_config import VectorStore |
23 | 23 | from common.constants.cache_version import Cache_Version |
24 | | -from common.constants.permission_constants import ResourceAuthType, ResourcePermission |
| 24 | +from common.constants.permission_constants import ResourceAuthType, ResourcePermission, ResourcePermissionRole |
25 | 25 | from common.database_model_manage.database_model_manage import DatabaseModelManage |
26 | 26 | from common.db.search import native_search, get_dynamics_model, native_page_search |
27 | 27 | from common.db.sql_execute import select_list |
|
42 | 42 | from maxkb.conf import PROJECT_DIR |
43 | 43 | from models_provider.models import Model |
44 | 44 | from system_manage.models import WorkspaceUserResourcePermission, AuthTargetType |
| 45 | +from system_manage.serializers.user_resource_permission import UserResourcePermissionSerializer |
45 | 46 | from users.serializers.user import is_workspace_manage |
46 | 47 |
|
47 | 48 |
|
@@ -553,21 +554,12 @@ def save_base(self, instance, with_valid=True): |
553 | 554 | QuerySet(ProblemParagraphMapping).bulk_create( |
554 | 555 | problem_paragraph_mapping_list |
555 | 556 | ) if len(problem_paragraph_mapping_list) > 0 else None |
556 | | - |
557 | | - # 自动授权给创建者 |
558 | | - WorkspaceUserResourcePermission( |
559 | | - target=knowledge_id, |
560 | | - auth_target_type=AuthTargetType.KNOWLEDGE, |
561 | | - permission_list=[ResourcePermission.VIEW, ResourcePermission.MANAGE], |
562 | | - workspace_id=self.data.get('workspace_id'), |
563 | | - user_id=self.data.get('user_id'), |
564 | | - auth_type=ResourceAuthType.RESOURCE_PERMISSION_GROUP |
565 | | - ).save() |
566 | | - # 刷新缓存 |
567 | | - version = Cache_Version.PERMISSION_LIST.get_version() |
568 | | - key = Cache_Version.PERMISSION_LIST.get_key(user_id=self.data.get('user_id')) |
569 | | - cache.delete(key, version=version) |
570 | | - |
| 557 | + # 自动资源给授权当前用户 |
| 558 | + UserResourcePermissionSerializer(data={ |
| 559 | + 'workspace_id': self.data.get('workspace_id'), |
| 560 | + 'user_id': self.data.get('user_id'), |
| 561 | + 'auth_target_type': AuthTargetType.KNOWLEDGE.value |
| 562 | + }).auth_resource(str(knowledge_id)) |
571 | 563 | return { |
572 | 564 | **KnowledgeModelSerializer(knowledge).data, |
573 | 565 | 'user_id': self.data.get('user_id'), |
|
0 commit comments