Skip to content
Snippets Groups Projects
Commit a0b2a769 authored by Jano Hendriks's avatar Jano Hendriks
Browse files

Update AbsoluteDateStringQuery to return an error

parent 93a24012
No related branches found
Tags v1.279.0
No related merge requests found
......@@ -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 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment