Proof-of-concept of a simple DSL for specifying servlets.

This commit is contained in:
Dominik Pantůček 2025-04-09 10:13:23 +02:00
parent 03c094214b
commit 186fe2d0ec
3 changed files with 33 additions and 5 deletions

View file

@ -29,20 +29,36 @@
bar-db
(
bar-db-init!
bd-barcode-lookup
)
(import scheme
(chicken base)
postgresql)
postgresql
sql-null)
(define bar-db-conn (make-parameter #f))
(define bd-conn (make-parameter #f))
(define (bar-db-init! name host user pass)
(bar-db-conn
(bd-conn
(connect
`((dbname . ,name)
(host . ,host)
(user . ,user)
(password . ,pass)))))
(define (sql-null->symbol v)
(if (sql-null? v)
'null
v))
(define (bd-barcode-lookup bc)
(sql-null->symbol
(car
(row-values
(query
(bd-conn)
"select sum(amount*case side when 'credit' then -1 else 1 end) amt from transaction_splits where account=$1"
bc)))))
)