refactor: streamline SQL queries in list_application.sql, list_application_user.sql, and list_application_user_ee.sql
This commit is contained in:
parent
12dbed5f7c
commit
bd1f75a4ae
@ -1,32 +1,22 @@
|
|||||||
select *
|
select *
|
||||||
from (select application."id"::text,
|
from (select application."id"::text, application."name",
|
||||||
application."name",
|
application."desc",
|
||||||
application. "desc",
|
application."is_publish",
|
||||||
application. "is_publish",
|
|
||||||
application."type",
|
application."type",
|
||||||
'application' as "resource_type",
|
'application' as "resource_type",
|
||||||
application."workspace_id",
|
application."workspace_id",
|
||||||
application. "folder_id",
|
application."folder_id",
|
||||||
application."user_id",
|
application."user_id",
|
||||||
"user"."nick_name" as "nick_name",
|
"user"."nick_name" as "nick_name",
|
||||||
application."create_time",
|
application."create_time",
|
||||||
application."update_time",
|
application."update_time",
|
||||||
application."publish_time"
|
application."publish_time",
|
||||||
from application left join "user" on user_id = "user".id
|
application.icon
|
||||||
${application_custom_sql}
|
from application
|
||||||
|
left join "user" on user_id = "user".id
|
||||||
|
${application_custom_sql}
|
||||||
UNION
|
UNION
|
||||||
select application_folder."id",
|
select application_folder."id", application_folder."name", application_folder."desc", true as "is_publish", 'folder' as "type", 'folder' as "resource_type", application_folder."workspace_id", application_folder."parent_id" as "folder_id", application_folder."user_id", "user"."nick_name" as "nick_name", application_folder."create_time", application_folder."update_time", null as "publish_time", null as "icon"
|
||||||
application_folder."name",
|
from application_folder left join "user"
|
||||||
application_folder."desc",
|
on user_id = "user".id ${folder_query_set}) temp
|
||||||
true as "is_publish",
|
${application_query_set}
|
||||||
'folder' as "type",
|
|
||||||
'folder' as "resource_type",
|
|
||||||
application_folder."workspace_id",
|
|
||||||
application_folder."parent_id" as "folder_id",
|
|
||||||
application_folder."user_id",
|
|
||||||
"user"."nick_name" as "nick_name",
|
|
||||||
application_folder."create_time",
|
|
||||||
application_folder."update_time",
|
|
||||||
null as "publish_time"
|
|
||||||
from application_folder left join "user" on user_id = "user".id ${folder_query_set}) temp
|
|
||||||
${application_query_set}
|
|
||||||
@ -1,35 +1,36 @@
|
|||||||
select *
|
select *
|
||||||
from (select application."id"::text,
|
from (select application."id"::text, application."name",
|
||||||
application."name",
|
application."desc",
|
||||||
application. "desc",
|
application."is_publish",
|
||||||
application. "is_publish",
|
|
||||||
application."type",
|
application."type",
|
||||||
'application' as "resource_type",
|
'application' as "resource_type",
|
||||||
application."workspace_id",
|
application."workspace_id",
|
||||||
application. "folder_id",
|
application."folder_id",
|
||||||
application."user_id",
|
application."user_id",
|
||||||
"user"."nick_name" as "nick_name",
|
"user"."nick_name" as "nick_name",
|
||||||
application."create_time",
|
application."create_time",
|
||||||
application."update_time",
|
application."update_time",
|
||||||
application."publish_time"
|
application."publish_time",
|
||||||
from application left join "user" on user_id = "user".id
|
application.icon
|
||||||
|
from application
|
||||||
|
left join "user" on user_id = "user".id
|
||||||
where application."id" in (select target
|
where application."id" in (select target
|
||||||
from workspace_user_resource_permission
|
from workspace_user_resource_permission ${workspace_user_resource_permission_query_set}
|
||||||
${workspace_user_resource_permission_query_set}
|
and 'VIEW' = any (permission_list))
|
||||||
and 'VIEW' = any (permission_list))
|
UNION
|
||||||
UNION
|
select application_folder."id",
|
||||||
select application_folder."id",
|
application_folder."name",
|
||||||
application_folder."name",
|
application_folder."desc",
|
||||||
application_folder."desc",
|
true as "is_publish",
|
||||||
true as "is_publish",
|
'folder' as "type",
|
||||||
'folder' as "type",
|
'folder' as "resource_type",
|
||||||
'folder' as "resource_type",
|
application_folder."workspace_id",
|
||||||
application_folder."workspace_id",
|
application_folder."parent_id" as "folder_id",
|
||||||
application_folder."parent_id" as "folder_id",
|
application_folder."user_id",
|
||||||
application_folder."user_id",
|
"user"."nick_name" as "nick_name",
|
||||||
"user"."nick_name" as "nick_name",
|
application_folder."create_time",
|
||||||
application_folder."create_time",
|
application_folder."update_time",
|
||||||
application_folder."update_time",
|
null as "publish_time",
|
||||||
null as "publish_time"
|
null as "icon"
|
||||||
from application_folder left join "user" on user_id = "user".id ${folder_query_set}) temp
|
from application_folder
|
||||||
${application_query_set}
|
left join "user" on user_id = "user".id ${folder_query_set}) temp ${application_query_set}
|
||||||
@ -1,48 +1,54 @@
|
|||||||
select *
|
select *
|
||||||
from (select application."id"::text,
|
from (select application."id"::text, application."name",
|
||||||
application."name",
|
application."desc",
|
||||||
application. "desc",
|
application."is_publish",
|
||||||
application. "is_publish",
|
|
||||||
application."type",
|
application."type",
|
||||||
'application' as "resource_type",
|
'application' as "resource_type",
|
||||||
application."workspace_id",
|
application."workspace_id",
|
||||||
application. "folder_id",
|
application."folder_id",
|
||||||
application."user_id",
|
application."user_id",
|
||||||
"user"."nick_name" as "nick_name",
|
"user"."nick_name" as "nick_name",
|
||||||
application."create_time",
|
application."create_time",
|
||||||
application."update_time",
|
application."update_time",
|
||||||
application."publish_time"
|
application."publish_time",
|
||||||
from application left join "user" on user_id = "user".id
|
application.icon
|
||||||
|
from application
|
||||||
|
left join "user" on user_id = "user".id
|
||||||
where "application".id in (select target
|
where "application".id in (select target
|
||||||
from workspace_user_resource_permission
|
from workspace_user_resource_permission ${workspace_user_resource_permission_query_set}
|
||||||
${workspace_user_resource_permission_query_set}
|
and case
|
||||||
and case
|
when auth_type = 'ROLE' then
|
||||||
when auth_type = 'ROLE' then
|
'ROLE' = any (permission_list)
|
||||||
'ROLE' = any (permission_list)
|
and
|
||||||
and
|
'APPLICATION:READ' in (select (case
|
||||||
'APPLICATION:READ' in (select (case when user_role_relation.role_id = any (array ['USER']) THEN 'APPLICATION:READ' else role_permission.permission_id END)
|
when user_role_relation.role_id = any (array['USER'])
|
||||||
from role_permission role_permission
|
THEN 'APPLICATION:READ'
|
||||||
right join user_role_relation user_role_relation
|
else role_permission.permission_id END)
|
||||||
on user_role_relation.role_id=role_permission.role_id
|
from role_permission role_permission
|
||||||
where user_role_relation.user_id=workspace_user_resource_permission.user_id
|
right join user_role_relation user_role_relation
|
||||||
and user_role_relation.workspace_id=workspace_user_resource_permission.workspace_id)
|
on user_role_relation.role_id = role_permission.role_id
|
||||||
|
where user_role_relation.user_id = workspace_user_resource_permission.user_id
|
||||||
|
and user_role_relation.workspace_id =
|
||||||
|
workspace_user_resource_permission.workspace_id)
|
||||||
|
|
||||||
else
|
else
|
||||||
'VIEW' = any (permission_list)
|
'VIEW' = any (permission_list)
|
||||||
end)
|
end)
|
||||||
UNION
|
UNION
|
||||||
select application_folder."id",
|
select application_folder."id",
|
||||||
application_folder."name",
|
application_folder."name",
|
||||||
application_folder."desc",
|
application_folder."desc",
|
||||||
true as "is_publish",
|
true as "is_publish",
|
||||||
'folder' as "type",
|
'folder' as "type",
|
||||||
'folder' as "resource_type",
|
'folder' as "resource_type",
|
||||||
application_folder."workspace_id",
|
application_folder."workspace_id",
|
||||||
application_folder."parent_id" as "folder_id",
|
application_folder."parent_id" as "folder_id",
|
||||||
application_folder."user_id",
|
application_folder."user_id",
|
||||||
"user"."nick_name" as "nick_name",
|
"user"."nick_name" as "nick_name",
|
||||||
application_folder."create_time",
|
application_folder."create_time",
|
||||||
application_folder."update_time",
|
application_folder."update_time",
|
||||||
null as "publish_time"
|
null as "publish_time",
|
||||||
from application_folder left join "user" on user_id = "user".id ${folder_query_set}) temp
|
null as "icon"
|
||||||
${application_query_set}
|
|
||||||
|
from application_folder
|
||||||
|
left join "user" on user_id = "user".id ${folder_query_set}) temp ${application_query_set}
|
||||||
Loading…
Reference in New Issue
Block a user