list_model_user_ee.sql 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. SELECT *
  2. FROM (SELECT model."id"::text, model."name",
  3. model.model_name,
  4. model.meta::json as meta, model.credential,
  5. model.model_params_form,
  6. model.model_type,
  7. model.provider,
  8. model.status,
  9. model.create_time,
  10. model.update_time,
  11. model.user_id,
  12. "user"."nick_name" as "nick_name",
  13. model.workspace_id
  14. from model
  15. left join "user" on user_id = "user".id
  16. where model."id"::text in (select target
  17. from workspace_user_resource_permission ${workspace_user_resource_permission_query_set}
  18. and case
  19. when auth_type = 'ROLE' then
  20. 'ROLE' = any (permission_list)
  21. and
  22. 'MODEL:READ' in (select (case
  23. when user_role_relation.role_id = any (array['USER'])
  24. THEN 'MODEL:READ'
  25. else role_permission.permission_id END)
  26. from role_permission role_permission
  27. right join user_role_relation user_role_relation
  28. on user_role_relation.role_id = role_permission.role_id
  29. where user_role_relation.user_id = workspace_user_resource_permission.user_id
  30. and user_role_relation.workspace_id =
  31. workspace_user_resource_permission.workspace_id)
  32. else
  33. 'VIEW' = any (permission_list)
  34. end) ) temp ${model_query_set}