list_application_user_ee.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. select *
  2. from (select application."id"::text, application."name",
  3. application."desc",
  4. application."is_publish",
  5. application."type",
  6. 'application' as "resource_type",
  7. application."workspace_id",
  8. application."folder_id",
  9. application."user_id",
  10. "user"."nick_name" as "nick_name",
  11. application."create_time",
  12. application."update_time",
  13. application."publish_time",
  14. application.icon
  15. from application
  16. left join "user" on user_id = "user".id
  17. where "application".id::text in (select target
  18. from workspace_user_resource_permission ${workspace_user_resource_permission_query_set}
  19. and case
  20. when auth_type = 'ROLE' then
  21. 'ROLE' = any (permission_list)
  22. and
  23. 'APPLICATION:READ' in (select (case
  24. when user_role_relation.role_id = any (array['USER'])
  25. THEN 'APPLICATION:READ'
  26. else role_permission.permission_id END)
  27. from role_permission role_permission
  28. right join user_role_relation user_role_relation
  29. on user_role_relation.role_id = role_permission.role_id
  30. where user_role_relation.user_id = workspace_user_resource_permission.user_id
  31. and user_role_relation.workspace_id =
  32. workspace_user_resource_permission.workspace_id)
  33. else
  34. 'VIEW' = any (permission_list)
  35. end)) temp
  36. ${application_query_set}