From 0f82b97ff6681177759b64705dba4f1d10edfbcd Mon Sep 17 00:00:00 2001 From: Thomas Hintz Date: Thu, 2 Jul 2026 20:07:01 -0700 Subject: [PATCH] Fixing update-selected-apps for dynamic app refactor. --- src/db.scm | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/src/db.scm b/src/db.scm index 445c9c6..2b5578a 100644 --- a/src/db.scm +++ b/src/db.scm @@ -306,35 +306,12 @@ returning users.user_id;" `(,(string->symbol (cdr config)) . ,(car config))) *user-selected-apps-column-map*)) -;; (define (update-user-selected-apps conn user-id instance-id app-alist) -;; (let ((valid-keys (map car *user-selected-apps-column-map*))) -;; (for-each (lambda (app) -;; (if (not (memq (car app) valid-keys)) -;; (error (string-append "Not a valid app key: " (->string (car app)))))) -;; app-alist)) -;; (query* conn -;; (string-append -;; "update user_selected_apps set " -;; (string-intersperse -;; (map-in-order (lambda (app i) -;; (conc (alist-ref (car app) *user-selected-apps-column-map*) -;; "=$" i)) -;; app-alist -;; (iota (length app-alist) 3)) -;; ", ") -;; " where user_id=$1 and instance_id=$2;") -;; `(,user-id -;; ,instance-id -;; ,@(map-in-order cdr app-alist)))) - (define (update-user-selected-apps conn user-id instance-id app-alist) + (query conn "delete from user_selected_apps where instance_id=$1 and user_id=$2" instance-id user-id) (for-each (lambda (app-version) - (query conn "insert into user_selected_apps (app_id, installed_version) -select apps.id, $2 from apps where apps.app_name=$1 -on conflict (app_id) -do update set installed_version=$2 where app_id=apps.id -from apps where apps.app_name=$1;" - (car app-version) (cdr app-version))) + (query conn "insert into user_selected_apps (app_id, installed_version, user_id, instance_id) +select apps.id, $2, $3, $4 from apps where apps.app_name=$1;" + (symbol->string (car app-version)) (cdr app-version) user-id instance-id)) app-alist)) (define (get-user-selected-apps conn user-id instance-id)