get_user_resource_permission.sql 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. SELECT app_or_knowledge.*,
  2. COALESCE(workspace_user_resource_permission.permission_list,'{}')::varchar[] as permission_list,
  3. COALESCE(workspace_user_resource_permission.auth_type,'ROLE') as auth_type
  4. FROM (SELECT "id",
  5. "name",
  6. 'KNOWLEDGE' AS "auth_target_type",
  7. user_id,
  8. workspace_id,
  9. "type"::varchar AS "icon",
  10. folder_id
  11. FROM knowledge
  12. ${knowledge_query_set}
  13. UNION
  14. SELECT "id",
  15. "name",
  16. 'APPLICATION' AS "auth_target_type",
  17. user_id,
  18. workspace_id,
  19. icon,
  20. folder_id
  21. FROM application
  22. ${application_query_set}
  23. UNION
  24. SELECT "id",
  25. "name",
  26. 'TOOL' AS "auth_target_type",
  27. user_id,
  28. workspace_id,
  29. icon,
  30. folder_id
  31. FROM tool
  32. ${tool_query_set}
  33. UNION
  34. SELECT "id",
  35. "name",
  36. 'MODEL' AS "auth_target_type",
  37. user_id,
  38. workspace_id,
  39. provider as icon,
  40. 'default' as folder_id
  41. FROM model
  42. ${model_query_set}
  43. ) app_or_knowledge
  44. LEFT JOIN (SELECT *
  45. FROM workspace_user_resource_permission
  46. ${workspace_user_resource_permission_query_set}) workspace_user_resource_permission
  47. ON workspace_user_resource_permission.target = app_or_knowledge."id";