| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- SELECT
- DISTINCT u.id,
- u.nick_name,
- u.username,
- tmp.role_name_list AS role_name,
- CASE
- WHEN wurp."permission" IS NULL THEN 'NOT_AUTH'
- ELSE wurp."permission"
- END AS permission
- FROM
- public."user" u
- LEFT JOIN (
- SELECT
- user_id,
- CASE
- WHEN auth_type = 'ROLE'
- AND 'ROLE' = ANY(permission_list) THEN 'ROLE'
- WHEN auth_type = 'RESOURCE_PERMISSION_GROUP'
- AND 'MANAGE' = ANY(permission_list) THEN 'MANAGE'
- WHEN auth_type = 'RESOURCE_PERMISSION_GROUP'
- AND 'VIEW' = ANY(permission_list) THEN 'VIEW'
- ELSE NULL
- END AS "permission"
- FROM
- workspace_user_resource_permission
- ${workspace_user_resource_permission_query_set}
- ) wurp ON u.id = wurp.user_id
- LEFT JOIN (
- SELECT
- ARRAY_AGG(role_setting.role_name) AS role_name_list,
- ARRAY_AGG(role_setting.role_name)::text AS role_name_list_str,
- ARRAY_AGG(role_setting.type) AS type_list,
- user_role_relation.user_id
- FROM user_role_relation user_role_relation
- LEFT JOIN role_setting role_setting
- ON role_setting.id = user_role_relation.role_id
- ${role_name_and_type_query_set}
- GROUP BY
- user_role_relation.user_id) tmp
- ON u.id = tmp.user_id
- ${user_query_set}
|