MaxKB/apps/setting/sql/check_member_permission_tar...

32 lines
623 B
SQL

SELECT
static_temp."target_id"::text
FROM
(SELECT * FROM json_to_recordset(
%s
) AS x(target_id uuid,type text)) static_temp
LEFT JOIN (
SELECT
"id",
'DATASET' AS "type",
user_id,
ARRAY [ 'MANAGE',
'USE',
'DELETE' ] AS "operate"
FROM
dataset
WHERE
"user_id" = %s UNION
SELECT
"id",
'APPLICATION' AS "type",
user_id,
ARRAY [ 'MANAGE',
'USE',
'DELETE' ] AS "operate"
FROM
application
WHERE
"user_id" = %s
) "app_and_dataset_temp"
ON "app_and_dataset_temp"."id" = static_temp."target_id" and app_and_dataset_temp."type"=static_temp."type"
WHERE app_and_dataset_temp.id is NULL ;