Fix: Use integer values for completed column in listening_history

The migration defines 'completed' as INTEGER but the code was inserting
TRUE/FALSE boolean values. PostgreSQL rejects this type mismatch.

Changed (if completed "TRUE" "FALSE") to (if completed 1 0)
This commit is contained in:
Glenn Thompson 2025-12-24 06:24:19 +03:00 committed by Brian O'Reilly
parent c01d99da85
commit 827d090a7e
1 changed files with 2 additions and 2 deletions

View File

@ -111,11 +111,11 @@
(:raw (format nil "INSERT INTO listening_history (\"user-id\", \"track-id\", track_title, \"listen-duration\", completed) VALUES (~a, ~a, ~a, ~a, ~a)"
user-id track-id
(if track-title (format nil "'~a'" (sql-escape-string track-title)) "NULL")
duration (if completed "TRUE" "FALSE"))))
duration (if completed 1 0))))
(when track-title
(postmodern:query
(:raw (format nil "INSERT INTO listening_history (\"user-id\", track_title, \"listen-duration\", completed) VALUES (~a, '~a', ~a, ~a)"
user-id (sql-escape-string track-title) duration (if completed "TRUE" "FALSE"))))))))))
user-id (sql-escape-string track-title) duration (if completed 1 0))))))))))
(defun get-listening-history (user-id &key (limit 20) (offset 0))
"Get user's listening history - works with title-based history"