创建资源权限实例列表
(workspace_id, resource_maps, user_id, permission, auth_type)
| 863 | |
| 864 | |
| 865 | def _create_resource_permission_instances(workspace_id, resource_maps, user_id, permission, auth_type): |
| 866 | """ |
| 867 | 创建资源权限实例列表 |
| 868 | """ |
| 869 | instances = [] |
| 870 | if permission == ResourcePermission.MANAGE: |
| 871 | permission = [ResourcePermission.VIEW, ResourcePermission.MANAGE] |
| 872 | else: |
| 873 | permission = [permission] |
| 874 | |
| 875 | # 应用权限 |
| 876 | for rid in resource_maps['apps'].get(workspace_id, []): |
| 877 | instances.append(WorkspaceUserResourcePermission( |
| 878 | target=rid, |
| 879 | auth_target_type=AuthTargetType.APPLICATION.value, |
| 880 | permission_list=permission, |
| 881 | workspace_id=workspace_id, |
| 882 | user_id=user_id, |
| 883 | auth_type=auth_type |
| 884 | )) |
| 885 | |
| 886 | # 应用文件夹权限 |
| 887 | for fid in resource_maps['app_folders'].get(workspace_id, []): |
| 888 | instances.append(WorkspaceUserResourcePermission( |
| 889 | target=fid, |
| 890 | auth_target_type=AuthTargetType.APPLICATION.value, |
| 891 | permission_list=permission, |
| 892 | workspace_id=workspace_id, |
| 893 | user_id=user_id, |
| 894 | auth_type=auth_type |
| 895 | )) |
| 896 | |
| 897 | # 知识库权限 |
| 898 | for kid in resource_maps['knowledge'].get(workspace_id, []): |
| 899 | instances.append(WorkspaceUserResourcePermission( |
| 900 | target=kid, |
| 901 | auth_target_type=AuthTargetType.KNOWLEDGE.value, |
| 902 | permission_list=permission, |
| 903 | workspace_id=workspace_id, |
| 904 | user_id=user_id, |
| 905 | auth_type=auth_type |
| 906 | )) |
| 907 | |
| 908 | # 知识库文件夹权限 |
| 909 | for kf in resource_maps['knowledge_folders'].get(workspace_id, []): |
| 910 | instances.append(WorkspaceUserResourcePermission( |
| 911 | target=kf, |
| 912 | auth_target_type=AuthTargetType.KNOWLEDGE.value, |
| 913 | permission_list=permission, |
| 914 | workspace_id=workspace_id, |
| 915 | user_id=user_id, |
| 916 | auth_type=auth_type |
| 917 | )) |
| 918 | |
| 919 | # 工具权限 |
| 920 | for tid in resource_maps['tools'].get(workspace_id, []): |
| 921 | instances.append(WorkspaceUserResourcePermission( |
| 922 | target=tid, |
no test coverage detected