From b81d8464df782276af360c2aa85d5f723a8fc5f9 Mon Sep 17 00:00:00 2001 From: Colin Adler Date: Mon, 6 Feb 2023 15:36:39 -0600 Subject: [PATCH] fix: audit log query when Postgres TZ isn't UTC (#6067) --- coderd/audit.go | 15 +++------------ coderd/database/queries.sql.go | 4 ++-- coderd/database/queries/auditlogs.sql | 4 ++-- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/coderd/audit.go b/coderd/audit.go index f26d7ba110..bf93347144 100644 --- a/coderd/audit.go +++ b/coderd/audit.go @@ -57,19 +57,10 @@ func (api *API) auditLogs(rw http.ResponseWriter, r *http.Request) { }) return } + filter.Offset = int32(page.Offset) + filter.Limit = int32(page.Limit) - dblogs, err := api.Database.GetAuditLogsOffset(ctx, database.GetAuditLogsOffsetParams{ - Offset: int32(page.Offset), - Limit: int32(page.Limit), - ResourceType: filter.ResourceType, - ResourceID: filter.ResourceID, - Action: filter.Action, - Username: filter.Username, - Email: filter.Email, - DateFrom: filter.DateFrom, - DateTo: filter.DateTo, - BuildReason: filter.BuildReason, - }) + dblogs, err := api.Database.GetAuditLogsOffset(ctx, filter) if err != nil { httpapi.InternalServerError(rw, err) return diff --git a/coderd/database/queries.sql.go b/coderd/database/queries.sql.go index 7b2b77f753..2e67254ec6 100644 --- a/coderd/database/queries.sql.go +++ b/coderd/database/queries.sql.go @@ -462,13 +462,13 @@ WHERE END -- Filter by date_from AND CASE - WHEN $9 :: timestamp with time zone != '0001-01-01 00:00:00' THEN + WHEN $9 :: timestamp with time zone != '0001-01-01 00:00:00Z' THEN "time" >= $9 ELSE true END -- Filter by date_to AND CASE - WHEN $10 :: timestamp with time zone != '0001-01-01 00:00:00' THEN + WHEN $10 :: timestamp with time zone != '0001-01-01 00:00:00Z' THEN "time" <= $10 ELSE true END diff --git a/coderd/database/queries/auditlogs.sql b/coderd/database/queries/auditlogs.sql index bffebae7c3..527fb22e0f 100644 --- a/coderd/database/queries/auditlogs.sql +++ b/coderd/database/queries/auditlogs.sql @@ -76,13 +76,13 @@ WHERE END -- Filter by date_from AND CASE - WHEN @date_from :: timestamp with time zone != '0001-01-01 00:00:00' THEN + WHEN @date_from :: timestamp with time zone != '0001-01-01 00:00:00Z' THEN "time" >= @date_from ELSE true END -- Filter by date_to AND CASE - WHEN @date_to :: timestamp with time zone != '0001-01-01 00:00:00' THEN + WHEN @date_to :: timestamp with time zone != '0001-01-01 00:00:00Z' THEN "time" <= @date_to ELSE true END