Skip to content

Commit bd1f75a

Browse files
committed
refactor: streamline SQL queries in list_application.sql, list_application_user.sql, and list_application_user_ee.sql
1 parent 12dbed5 commit bd1f75a

File tree

3 files changed

+87
-90
lines changed

3 files changed

+87
-90
lines changed
Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,22 @@
11
select *
2-
from (select application."id"::text,
3-
application."name",
4-
application. "desc",
5-
application. "is_publish",
2+
from (select application."id"::text, application."name",
3+
application."desc",
4+
application."is_publish",
65
application."type",
7-
'application' as "resource_type",
6+
'application' as "resource_type",
87
application."workspace_id",
9-
application. "folder_id",
8+
application."folder_id",
109
application."user_id",
1110
"user"."nick_name" as "nick_name",
1211
application."create_time",
1312
application."update_time",
14-
application."publish_time"
15-
from application left join "user" on user_id = "user".id
16-
${application_custom_sql}
13+
application."publish_time",
14+
application.icon
15+
from application
16+
left join "user" on user_id = "user".id
17+
${application_custom_sql}
1718
UNION
18-
select application_folder."id",
19-
application_folder."name",
20-
application_folder."desc",
21-
true as "is_publish",
22-
'folder' as "type",
23-
'folder' as "resource_type",
24-
application_folder."workspace_id",
25-
application_folder."parent_id" as "folder_id",
26-
application_folder."user_id",
27-
"user"."nick_name" as "nick_name",
28-
application_folder."create_time",
29-
application_folder."update_time",
30-
null as "publish_time"
31-
from application_folder left join "user" on user_id = "user".id ${folder_query_set}) temp
32-
${application_query_set}
19+
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"
20+
from application_folder left join "user"
21+
on user_id = "user".id ${folder_query_set}) temp
22+
${application_query_set}
Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,36 @@
11
select *
2-
from (select application."id"::text,
3-
application."name",
4-
application. "desc",
5-
application. "is_publish",
2+
from (select application."id"::text, application."name",
3+
application."desc",
4+
application."is_publish",
65
application."type",
7-
'application' as "resource_type",
6+
'application' as "resource_type",
87
application."workspace_id",
9-
application. "folder_id",
8+
application."folder_id",
109
application."user_id",
1110
"user"."nick_name" as "nick_name",
1211
application."create_time",
1312
application."update_time",
14-
application."publish_time"
15-
from application left join "user" on user_id = "user".id
13+
application."publish_time",
14+
application.icon
15+
from application
16+
left join "user" on user_id = "user".id
1617
where application."id" in (select target
17-
from workspace_user_resource_permission
18-
${workspace_user_resource_permission_query_set}
19-
and 'VIEW' = any (permission_list))
20-
UNION
21-
select application_folder."id",
22-
application_folder."name",
23-
application_folder."desc",
24-
true as "is_publish",
25-
'folder' as "type",
26-
'folder' as "resource_type",
27-
application_folder."workspace_id",
28-
application_folder."parent_id" as "folder_id",
29-
application_folder."user_id",
30-
"user"."nick_name" as "nick_name",
31-
application_folder."create_time",
32-
application_folder."update_time",
33-
null as "publish_time"
34-
from application_folder left join "user" on user_id = "user".id ${folder_query_set}) temp
35-
${application_query_set}
18+
from workspace_user_resource_permission ${workspace_user_resource_permission_query_set}
19+
and 'VIEW' = any (permission_list))
20+
UNION
21+
select application_folder."id",
22+
application_folder."name",
23+
application_folder."desc",
24+
true as "is_publish",
25+
'folder' as "type",
26+
'folder' as "resource_type",
27+
application_folder."workspace_id",
28+
application_folder."parent_id" as "folder_id",
29+
application_folder."user_id",
30+
"user"."nick_name" as "nick_name",
31+
application_folder."create_time",
32+
application_folder."update_time",
33+
null as "publish_time",
34+
null as "icon"
35+
from application_folder
36+
left join "user" on user_id = "user".id ${folder_query_set}) temp ${application_query_set}
Lines changed: 45 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,54 @@
11
select *
2-
from (select application."id"::text,
3-
application."name",
4-
application. "desc",
5-
application. "is_publish",
2+
from (select application."id"::text, application."name",
3+
application."desc",
4+
application."is_publish",
65
application."type",
7-
'application' as "resource_type",
6+
'application' as "resource_type",
87
application."workspace_id",
9-
application. "folder_id",
8+
application."folder_id",
109
application."user_id",
1110
"user"."nick_name" as "nick_name",
1211
application."create_time",
1312
application."update_time",
14-
application."publish_time"
15-
from application left join "user" on user_id = "user".id
13+
application."publish_time",
14+
application.icon
15+
from application
16+
left join "user" on user_id = "user".id
1617
where "application".id in (select target
17-
from workspace_user_resource_permission
18-
${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 when user_role_relation.role_id = any (array ['USER']) THEN 'APPLICATION:READ' else role_permission.permission_id END)
24-
from role_permission role_permission
25-
right join user_role_relation user_role_relation
26-
on user_role_relation.role_id=role_permission.role_id
27-
where user_role_relation.user_id=workspace_user_resource_permission.user_id
28-
and user_role_relation.workspace_id=workspace_user_resource_permission.workspace_id)
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)
2933

30-
else
31-
'VIEW' = any (permission_list)
32-
end)
33-
UNION
34-
select application_folder."id",
35-
application_folder."name",
36-
application_folder."desc",
37-
true as "is_publish",
38-
'folder' as "type",
39-
'folder' as "resource_type",
40-
application_folder."workspace_id",
41-
application_folder."parent_id" as "folder_id",
42-
application_folder."user_id",
43-
"user"."nick_name" as "nick_name",
44-
application_folder."create_time",
45-
application_folder."update_time",
46-
null as "publish_time"
47-
from application_folder left join "user" on user_id = "user".id ${folder_query_set}) temp
48-
${application_query_set}
34+
else
35+
'VIEW' = any (permission_list)
36+
end)
37+
UNION
38+
select application_folder."id",
39+
application_folder."name",
40+
application_folder."desc",
41+
true as "is_publish",
42+
'folder' as "type",
43+
'folder' as "resource_type",
44+
application_folder."workspace_id",
45+
application_folder."parent_id" as "folder_id",
46+
application_folder."user_id",
47+
"user"."nick_name" as "nick_name",
48+
application_folder."create_time",
49+
application_folder."update_time",
50+
null as "publish_time",
51+
null as "icon"
52+
53+
from application_folder
54+
left join "user" on user_id = "user".id ${folder_query_set}) temp ${application_query_set}

0 commit comments

Comments
 (0)