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)))
|
`(,(string->symbol (cdr config)) . ,(car config)))
|
||||||
*user-selected-apps-column-map*))
|
*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)
|
(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)
|
(for-each (lambda (app-version)
|
||||||
(query conn "insert into user_selected_apps (app_id, installed_version)
|
(query conn "insert into user_selected_apps (app_id, installed_version, user_id, instance_id)
|
||||||
select apps.id, $2 from apps where apps.app_name=$1
|
select apps.id, $2, $3, $4 from apps where apps.app_name=$1;"
|
||||||
on conflict (app_id)
|
(symbol->string (car app-version)) (cdr app-version) user-id instance-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)))
|
|
||||||
app-alist))
|
app-alist))
|
||||||
|
|
||||||
(define (get-user-selected-apps conn user-id instance-id)
|
(define (get-user-selected-apps conn user-id instance-id)
|
||||||
|
|||||||
Reference in New Issue
Block a user