Skip to content

Commit 22b53ef

Browse files
committed
added validation error
1 parent 4886a91 commit 22b53ef

File tree

4 files changed

+36
-26
lines changed

4 files changed

+36
-26
lines changed

coderd/audit.go

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ func (api *API) auditLogs(rw http.ResponseWriter, r *http.Request) {
3434

3535
queryStr := r.URL.Query().Get("q")
3636
filter, errs := auditSearchQuery(queryStr)
37-
fmt.Println("BLOOP FILTER", filter)
37+
fmt.Println("FILTER", filter.DateFrom)
38+
fmt.Println("FILTER", filter.DateTo)
3839

3940
if len(errs) > 0 {
4041
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
@@ -52,7 +53,8 @@ func (api *API) auditLogs(rw http.ResponseWriter, r *http.Request) {
5253
Action: filter.Action,
5354
Username: filter.Username,
5455
Email: filter.Email,
55-
TimeFrom: filter.TimeFrom,
56+
DateFrom: filter.DateFrom,
57+
DateTo: filter.DateTo,
5658
})
5759
if err != nil {
5860
httpapi.InternalServerError(rw, err)
@@ -287,24 +289,34 @@ func auditSearchQuery(query string) (database.GetAuditLogsOffsetParams, []coders
287289
const layout = "2006-01-02"
288290

289291
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{
292+
dateFromString = parser.String(searchParams, "", "date_from")
293+
dateToString = parser.String(searchParams, "", "date_to")
294+
parsedDateFrom, _ = time.Parse(layout, dateFromString)
295+
parsedDateTo, _ = time.Parse(layout, dateToString)
296+
)
297+
298+
if dateToString != "" {
299+
parsedDateTo = parsedDateTo.Add(23*time.Hour + 59*time.Minute + 59*time.Second) // parsedDateTo goes to 23:59
300+
}
301+
302+
if dateToString != "" && parsedDateTo.Before(parsedDateFrom) {
303+
return database.GetAuditLogsOffsetParams{}, []codersdk.ValidationError{
304+
{Field: "q", Detail: fmt.Sprintf("DateTo value %q cannot be before than DateFrom", parsedDateTo)},
305+
}
306+
}
307+
308+
var (
309+
filter = database.GetAuditLogsOffsetParams{
295310
ResourceType: resourceTypeFromString(parser.String(searchParams, "", "resource_type")),
296311
ResourceID: parser.UUID(searchParams, uuid.Nil, "resource_id"),
297312
Action: actionFromString(parser.String(searchParams, "", "action")),
298313
Username: parser.String(searchParams, "", "username"),
299314
Email: parser.String(searchParams, "", "email"),
300-
TimeFrom: parsedTimeFrom,
301-
TimeTo: parsedTimeTo,
315+
DateFrom: parsedDateFrom,
316+
DateTo: parsedDateTo,
302317
}
303318
)
304319

305-
fmt.Println("FROM!", parsedTimeFrom)
306-
fmt.Println("TO!", parsedTimeTo)
307-
308320
return filter, parser.Errors
309321
}
310322

coderd/database/queries.sql.go

Lines changed: 6 additions & 6 deletions
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: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,16 @@ WHERE
5050
users.email = @email
5151
ELSE true
5252
END
53-
-- Filter by time_from
53+
-- Filter by date_from
5454
AND CASE
55-
WHEN @time_from :: timestamp with time zone != '0001-01-01 00:00:00' THEN
56-
"time" >= @time_from
55+
WHEN @date_from :: timestamp with time zone != '0001-01-01 00:00:00' THEN
56+
"time" >= @date_from
5757
ELSE true
5858
END
59-
-- Filter by time_to
59+
-- Filter by date_to
6060
AND CASE
61-
WHEN @time_to :: timestamp with time zone != '0001-01-01 00:00:00' THEN
62-
"time" <= @time_to
61+
WHEN @date_to :: timestamp with time zone != '0001-01-01 00:00:00' THEN
62+
"time" <= @date_to
6363
ELSE true
6464
END
6565
ORDER BY

site/src/api/api.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,10 +563,8 @@ export const getAuditLogs = async (
563563
searchParams.set("offset", options.offset.toString())
564564
}
565565
if (options.q) {
566-
console.log('q', options.q)
567566
searchParams.set("q", options.q)
568567
}
569-
console.log('searchParams', searchParams)
570568

571569
const response = await axios.get(`/api/v2/audit?${searchParams.toString()}`)
572570
return response.data

0 commit comments

Comments
 (0)