feat: Add extra fields to the audit filter (#4123)

This commit is contained in:
Bruno Quaresma
2022-09-20 13:07:21 -03:00
committed by GitHub
parent 3618b098cb
commit bc47d7ce69
7 changed files with 198 additions and 82 deletions

View File

@ -20,12 +20,36 @@ WHERE
resource_type = @resource_type :: resource_type
ELSE true
END
-- Filter resource_id
AND CASE
WHEN @resource_id :: uuid != '00000000-00000000-00000000-00000000' THEN
resource_id = @resource_id
ELSE true
END
-- Filter by resource_target
AND CASE
WHEN @resource_target :: text != '' THEN
resource_target = @resource_target
ELSE true
END
-- Filter action
AND CASE
WHEN @action :: text != '' THEN
action = @action :: audit_action
ELSE true
END
-- Filter by username
AND CASE
WHEN @username :: text != '' THEN
users.username = @username
ELSE true
END
-- Filter by user_email
AND CASE
WHEN @email :: text != '' THEN
users.email = @email
ELSE true
END
ORDER BY
"time" DESC
LIMIT
@ -35,9 +59,9 @@ OFFSET
-- name: GetAuditLogCount :one
SELECT
COUNT(*) as count
COUNT(*) as count
FROM
audit_logs
audit_logs
WHERE
-- Filter resource_type
CASE
@ -45,11 +69,35 @@ WHERE
resource_type = @resource_type :: resource_type
ELSE true
END
-- Filter resource_id
AND CASE
WHEN @resource_id :: uuid != '00000000-00000000-00000000-00000000' THEN
resource_id = @resource_id
ELSE true
END
-- Filter by resource_target
AND CASE
WHEN @resource_target :: text != '' THEN
resource_target = @resource_target
ELSE true
END
-- Filter action
AND CASE
WHEN @action :: text != '' THEN
action = @action :: audit_action
ELSE true
END
-- Filter by username
AND CASE
WHEN @username :: text != '' THEN
user_id = (SELECT id from users WHERE users.username = @username )
ELSE true
END
-- Filter by user_email
AND CASE
WHEN @email :: text != '' THEN
user_id = (SELECT id from users WHERE users.email = @email )
ELSE true
END;
-- name: InsertAuditLog :one