| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- SELECT
- resource_or_folder.*,
- CASE
- WHEN
- wurp."permission" is null then 'NOT_AUTH'
- ELSE wurp."permission"
- END
- FROM (
- SELECT
- "id"::text,
- "name",
- 'MODEL' AS "auth_target_type",
- 'model' AS "resource_type",
- user_id,
- workspace_id,
- provider as icon,
- 'default' as folder_id,
- create_time
- FROM
- model
- ${query_set}
- UNION
- SELECT
- "id"::text,
- "name",
- 'MODEL' AS "auth_target_type",
- 'folder' AS "resource_type",
- user_id,
- workspace_id,
- provider as icon,
- 'default' as folder_id,
- create_time
- FROM model
- ${folder_query_set}
- AND 1=0
- ) resource_or_folder
- LEFT JOIN (
- SELECT
- target,
- CASE
- WHEN auth_type = 'ROLE'
- AND 'ROLE' = ANY(permission_list) THEN 'ROLE'
- WHEN auth_type = 'RESOURCE_PERMISSION_GROUP'
- AND 'MANAGE' = ANY(permission_list) THEN 'MANAGE'
- WHEN auth_type = 'RESOURCE_PERMISSION_GROUP'
- AND 'VIEW' = ANY(permission_list) THEN 'VIEW'
- ELSE null
- END AS permission
- FROM
- workspace_user_resource_permission
- ${workspace_user_resource_permission_query_set}
- ) wurp
- ON wurp.target = resource_or_folder."id"
- ${resource_query_set}
- ORDER BY resource_or_folder.create_time DESC
|