Skip to content

Commit 4886a91

Browse files
committed
added time_to
1 parent 1f0cb46 commit 4886a91

File tree

3 files changed

+36
-14
lines changed

3 files changed

+36
-14
lines changed

coderd/audit.go

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -260,16 +260,13 @@ func auditSearchQuery(query string) (database.GetAuditLogsOffsetParams, []coders
260260
return database.GetAuditLogsOffsetParams{}, nil
261261
}
262262
query = strings.ToLower(query)
263-
fmt.Println("KIRA query", query)
264263
// Because we do this in 2 passes, we want to maintain quotes on the first
265264
// pass.Further splitting occurs on the second pass and quotes will be
266265
// dropped.
267266
elements := splitQueryParameterByDelimiter(query, ' ', true)
268-
fmt.Println("MARGE elements", elements)
269267

270268
for _, element := range elements {
271269
parts := splitQueryParameterByDelimiter(element, ':', false)
272-
fmt.Println("MARGOT parts", parts)
273270

274271
switch len(parts) {
275272
case 1:
@@ -287,15 +284,26 @@ func auditSearchQuery(query string) (database.GetAuditLogsOffsetParams, []coders
287284
// Using the query param parser here just returns consistent errors with
288285
// other parsing.
289286
parser := httpapi.NewQueryParamParser()
290-
filter := database.GetAuditLogsOffsetParams{
291-
ResourceType: resourceTypeFromString(parser.String(searchParams, "", "resource_type")),
292-
ResourceID: parser.UUID(searchParams, uuid.Nil, "resource_id"),
293-
Action: actionFromString(parser.String(searchParams, "", "action")),
294-
Username: parser.String(searchParams, "", "username"),
295-
Email: parser.String(searchParams, "", "email"),
296-
TimeFrom: time.Date(
297-
2022, 10, 27, 00, 00, 00, 000000000, time.UTC),
298-
}
287+
const layout = "2006-01-02"
288+
289+
var (
290+
timeFromString = parser.String(searchParams, "", "time_from")
291+
timeToString = parser.String(searchParams, "", "time_to")
292+
parsedTimeFrom, _ = time.Parse(layout, timeFromString)
293+
parsedTimeTo, _ = time.Parse(layout, timeToString)
294+
filter = database.GetAuditLogsOffsetParams{
295+
ResourceType: resourceTypeFromString(parser.String(searchParams, "", "resource_type")),
296+
ResourceID: parser.UUID(searchParams, uuid.Nil, "resource_id"),
297+
Action: actionFromString(parser.String(searchParams, "", "action")),
298+
Username: parser.String(searchParams, "", "username"),
299+
Email: parser.String(searchParams, "", "email"),
300+
TimeFrom: parsedTimeFrom,
301+
TimeTo: parsedTimeTo,
302+
}
303+
)
304+
305+
fmt.Println("FROM!", parsedTimeFrom)
306+
fmt.Println("TO!", parsedTimeTo)
299307

300308
return filter, parser.Errors
301309
}

coderd/database/queries.sql.go

Lines changed: 9 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/auditlogs.sql

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ WHERE
5353
-- Filter by time_from
5454
AND CASE
5555
WHEN @time_from :: timestamp with time zone != '0001-01-01 00:00:00' THEN
56-
"time" > @time_from
56+
"time" >= @time_from
57+
ELSE true
58+
END
59+
-- Filter by time_to
60+
AND CASE
61+
WHEN @time_to :: timestamp with time zone != '0001-01-01 00:00:00' THEN
62+
"time" <= @time_to
5763
ELSE true
5864
END
5965
ORDER BY

0 commit comments

Comments
 (0)