check_member_permission_target_exists.sql 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. SELECT static_temp."target_id"::text
  2. FROM (SELECT *
  3. FROM json_to_recordset(
  4. %s
  5. ) AS x(target_id text, auth_target_type text)) static_temp
  6. LEFT JOIN (SELECT id::text AS id,
  7. auth_target_type
  8. FROM (SELECT "id"::text,
  9. 'KNOWLEDGE' AS "auth_target_type"
  10. FROM knowledge
  11. WHERE workspace_id = %s
  12. UNION
  13. SELECT "id"::text,
  14. 'KNOWLEDGE' AS "auth_target_type"
  15. FROM knowledge_folder
  16. WHERE workspace_id = %s
  17. UNION
  18. SELECT "id"::text,
  19. 'APPLICATION' AS "auth_target_type"
  20. FROM application
  21. WHERE workspace_id = %s
  22. UNION
  23. SELECT "id"::text,
  24. 'APPLICATION' AS "auth_target_type"
  25. FROM application_folder
  26. WHERE workspace_id = %s
  27. UNION
  28. SELECT "id"::text,
  29. 'MODEL' AS "auth_target_type"
  30. FROM model
  31. WHERE workspace_id = %s
  32. UNION
  33. SELECT "id"::text,
  34. 'TOOL' AS "auth_target_type"
  35. FROM tool
  36. WHERE workspace_id = %s
  37. UNION
  38. SELECT "id"::text,
  39. 'TOOL' AS "auth_target_type"
  40. FROM tool_folder
  41. WHERE workspace_id = %s
  42. ) "union_temp") "app_and_knowledge_temp"
  43. ON "app_and_knowledge_temp"."id" = static_temp."target_id" and
  44. app_and_knowledge_temp."auth_target_type" = static_temp."auth_target_type"
  45. WHERE app_and_knowledge_temp.id is NULL;