Improving deployment process.
This commit is contained in:
35
src/db.scm
35
src/db.scm
@@ -10,6 +10,10 @@
|
||||
update-user-selected-apps get-user-selected-apps
|
||||
update-user-app-config get-user-app-config
|
||||
update-root-domain
|
||||
create-deployment
|
||||
update-deployment-status get-deployment-status
|
||||
get-most-recent-deployment-status
|
||||
update-deployment-in-progress
|
||||
)
|
||||
|
||||
(import scheme
|
||||
@@ -287,6 +291,37 @@ returning users.user_id;"
|
||||
(user-decrypt-from-db (alist-ref 'config_enc res) user-key user-iv user-id)
|
||||
read)))))))
|
||||
|
||||
(define *deployment-status*
|
||||
'((queued . "queued")
|
||||
(in-progress . "in-progress")
|
||||
(complete . "complete")
|
||||
(failed . "failed")))
|
||||
(define (create-deployment conn user-id)
|
||||
(value-at
|
||||
(query conn
|
||||
"insert into deployments(user_id) values($1) returning deployments.id;"
|
||||
user-id)))
|
||||
(define (update-deployment-in-progress conn deployment-id pid)
|
||||
(query conn
|
||||
"update deployments set status=$1, pid=$2 where id=$3;"
|
||||
(alist-ref 'in-progress *deployment-status*) pid deployment-id))
|
||||
|
||||
(define (update-deployment-status conn deployment-id status)
|
||||
(query conn "update deployments set status=$1 where id=$2;"
|
||||
(alist-ref status *deployment-status*) deployment-id))
|
||||
|
||||
(define (get-deployment-status conn deployment-id)
|
||||
(value-at (query conn "select status from deployments where id=$1;" deployment-id)))
|
||||
|
||||
(define (get-most-recent-deployment-status conn user-id)
|
||||
(value-at (query conn "select status from deployments where user_id=$1 order by id DESC limit 1;" user-id)))
|
||||
|
||||
;; (with-db/transaction (lambda (db) (create-deployment db 7)))
|
||||
;; (with-db/transaction (lambda (db) (get-deployment-status db 1)))
|
||||
;; (with-db/transaction (lambda (db) (update-deployment-in-progress db 1 123)))
|
||||
;; (with-db/transaction (lambda (db) (update-deployment-status db 1 'complete)))
|
||||
;; (with-db/transaction (lambda (db) (get-most-recent-deployment-status db 7)))
|
||||
|
||||
;; (with-db/transaction (lambda (db) (create-user db 1 "t@thintz.com" "thecombjelly")))
|
||||
|
||||
;; (let ((user-id 7))
|
||||
|
||||
Reference in New Issue
Block a user