Fixing update-selected-apps for dynamic app refactor.
This commit is contained in:
31
src/db.scm
31
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)
|
||||
|
||||
Reference in New Issue
Block a user