From 68a83390c98c74c9fadb89b751b76177124cf832 Mon Sep 17 00:00:00 2001 From: Glenn Thompson Date: Tue, 9 Dec 2025 21:34:12 +0300 Subject: [PATCH] Use local-time:now for last-login update (database agnostic) Replace raw PostgreSQL SQL with data-model approach using local-time:now as suggested by easilok. This keeps the code database backend agnostic instead of being tied to PostgreSQL-specific syntax. --- user-management.lisp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/user-management.lisp b/user-management.lisp index c817dfd..164f020 100644 --- a/user-management.lisp +++ b/user-management.lisp @@ -69,12 +69,11 @@ (format t "Error during user data access: ~a~%" e))) (when (and (= 1 user-active) (verify-password password user-password)) - ;; Update last login using raw SQL to set CURRENT_TIMESTAMP + ;; Update last login using data-model (database agnostic) (handler-case - (postmodern:with-connection (get-db-connection-params) - (postmodern:execute - (format nil "UPDATE \"USERS\" SET \"last-login\" = CURRENT_TIMESTAMP WHERE _id = ~a" - (dm:id user)))) + (progn + (setf (dm:field user "last-login") (format nil "~a" (local-time:now))) + (dm:save user)) (error (e) (format t "Warning: Could not update last-login: ~a~%" e))) user)))))