From a0b2a769429ea5b1826a9773fd0db0053aabfd28 Mon Sep 17 00:00:00 2001 From: jano3 <jano@bob.co.za> Date: Thu, 13 Feb 2025 13:17:29 +0200 Subject: [PATCH] Update AbsoluteDateStringQuery to return an error --- db_utils/db_utils.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/db_utils/db_utils.go b/db_utils/db_utils.go index 0fd8493..a8e6bdb 100644 --- a/db_utils/db_utils.go +++ b/db_utils/db_utils.go @@ -93,7 +93,7 @@ func PullAbsoluteValue(value string) int64 { return val } -func AbsoluteDateStringQuery(absolute string) string { +func AbsoluteDateStringQuery(absolute string) (string, error) { var value int64 timeNow := date_utils.CurrentDate() @@ -101,37 +101,37 @@ func AbsoluteDateStringQuery(absolute string) string { value = PullAbsoluteValue(absolute) since := timeNow.Add(time.Duration(-value) * time.Hour) - return fmt.Sprintf(" >= '%v'", date_utils.DateDBFormattedString(since)) + return fmt.Sprintf(" >= '%v'", date_utils.DateDBFormattedString(since)), nil } if CheckAbsoluteRegex(LastDay, absolute) { startDay := time.Date(timeNow.Year(), timeNow.Month(), timeNow.Day(), 0, 0, 0, 0, date_utils.CurrentLocation()) endDay := time.Date(timeNow.Year(), timeNow.Month(), timeNow.Day(), 23, 59, 59, 999999999, date_utils.CurrentLocation()) - return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(startDay), date_utils.DateDBFormattedString(endDay)) + return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(startDay), date_utils.DateDBFormattedString(endDay)), nil } if CheckAbsoluteRegex(LastXDays, absolute) { value = PullAbsoluteValue(absolute) since := timeNow.AddDate(0, 0, -int(value)) - return fmt.Sprintf(" >= '%v'", date_utils.DateDBFormattedString(since)) + return fmt.Sprintf(" >= '%v'", date_utils.DateDBFormattedString(since)), nil } if CheckAbsoluteRegex(LastMonth, absolute) { firstOfMonth := time.Date(timeNow.Year(), timeNow.Month(), 1, 0, 0, 0, 0, date_utils.CurrentLocation()) lastDay := firstOfMonth.AddDate(0, 1, -1) lastOfMonth := time.Date(lastDay.Year(), lastDay.Month(), lastDay.Day(), 23, 59, 59, 999999999, date_utils.CurrentLocation()) - return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(firstOfMonth), date_utils.DateDBFormattedString(lastOfMonth)) + return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(firstOfMonth), date_utils.DateDBFormattedString(lastOfMonth)), nil } if CheckAbsoluteRegex(Yesterday, absolute) { yesterday := timeNow.AddDate(0, 0, -1) startDay := time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 0, 0, 0, 0, date_utils.CurrentLocation()) endDay := time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 23, 59, 59, 999999999, date_utils.CurrentLocation()) - return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(startDay), date_utils.DateDBFormattedString(endDay)) + return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(startDay), date_utils.DateDBFormattedString(endDay)), nil } - // Not matched, so try to match it literally (It'll probably break and return nothing, but that's good) - return fmt.Sprintf(" = '%v'", absolute) + // Not matched + return "", errors.Error("invalid absolute date query") } type PageAndOrderParams struct { -- GitLab