UnisKB/apps/system_manage/sql/get_user_resource_permissio...

48 lines
1.5 KiB
MySQL
Raw Normal View History

2025-05-06 10:35:11 +00:00
SELECT app_or_knowledge.*,
COALESCE(workspace_user_resource_permission.permission_list,'{}')::varchar[] as permission_list,
COALESCE(workspace_user_resource_permission.auth_type,'ROLE') as auth_type
FROM (SELECT "id",
"name",
'KNOWLEDGE' AS "auth_target_type",
user_id,
workspace_id,
2025-06-12 09:10:33 +00:00
"type"::varchar AS "icon",
folder_id
2025-05-06 10:35:11 +00:00
FROM knowledge
${knowledge_query_set}
2025-06-04 05:05:39 +00:00
UNION
SELECT "id",
"name",
'APPLICATION' AS "auth_target_type",
user_id,
workspace_id,
2025-06-12 09:10:33 +00:00
icon,
folder_id
2025-06-04 05:05:39 +00:00
FROM application
${application_query_set}
UNION
SELECT "id",
"name",
'TOOL' AS "auth_target_type",
user_id,
workspace_id,
icon,
folder_id
FROM tool
${tool_query_set}
UNION
SELECT "id",
"name",
'MODEL' AS "auth_target_type",
user_id,
workspace_id,
provider as icon,
'default' as folder_id
FROM model
${model_query_set}
2025-05-06 10:35:11 +00:00
) app_or_knowledge
LEFT JOIN (SELECT *
FROM workspace_user_resource_permission
${workspace_user_resource_permission_query_set}) workspace_user_resource_permission
ON workspace_user_resource_permission.target = app_or_knowledge."id";