fix nim compiler warnings and clearAllReminders() after updating sendDate

This commit is contained in:
itwrx
2025-05-17 07:10:54 -05:00
parent 55def9973a
commit 7d2583b6f0
8 changed files with 43 additions and 19 deletions

View File

@@ -3,7 +3,8 @@ This file is part of Simple Site Manager.
Simple Site Manager is released under the GNU Affero General Public License 3.0.
See COPYING or <https://www.gnu.org/licenses/> for details.]#
import sqliteral, "../helpers/db", "../helpers/global.nim", sequtils
#import sqliteral, "../helpers/db", "../helpers/global.nim", sequtils, algorithm, times
import sqliteral, "../helpers/db", algorithm, times
type
Reminder* = object
@@ -12,11 +13,24 @@ type
var allReminders: seq[Reminder]
#proc myCmp(x, y: Reminder): int =
# cmp(x.sendDate, y.sendDate)
proc getReminderSendDatetime*(reminder: Reminder): DateTime =
let sendDateDTString = $reminder.sendDate & " " & $reminder.sendTimeHr & ":" & $reminder.sendTimeMin & ":" & $reminder.sendTimeAmPm
#single digits for minutes, as db send_time_min is integer and won't use "00", which results in runtime parse error.
let sendDateDT = parse(sendDateDTString, "yyyy-M-d h:m:tt")
return sendDateDT
proc myCmp(x, y: Reminder): int =
cmp(getReminderSendDatetime(x), getReminderSendDatetime(y))
proc getAllReminders*(): seq[Reminder] =
{.gcsafe.}:
if allReminders.len == 0:
for row in db1.rows(SelectAllReminders):
allReminders.add(Reminder(id: row.getInt(0), title: row.getString(1), message: row.getString(2), notifyVia: row.getString(3), repeats: row.getInt(4), repeatFreq: row.getString(5), weeklyOn: row.getString(6), monthlyOnDay: row.getInt(7), monthlyOnWeekday: row.getString(8), monthlyOnWeek: row.getString(9), yearlyOnMonth: row.getString(10), yearlyOnDay: row.getInt(11), yearlyOnWeek: row.getString(12), yearlyOnWeekday: row.getString(13), yearlyOnMonth2: row.getString(14), sendDate: row.getString(15), sendTimeHr: row.getInt(16), sendTimeMin: row.getInt(17), sendTimeAmPm: row.getString(18)))
allReminders.sort(myCmp)
return allReminders
proc clearAllReminders*() =