blob: 45ca1548fd6b7c2ec2cd5c18919d59c02d8f9972 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#lang racket
;; Model struct
(provide user
user?
user-id
user-name
user-role
;; SQL CRUD
(contract-out [get-current-user (-> (or/c user? #f))] #;[delete-user! (-> user? void?)]))
(require racket/contract
db
sql
"../db/conn.rkt")
(struct user (id name role) #:transparent)
(define (get-current-user)
(define current-user-id "foobar")
(define query (select id name role_id #:from users #:where (= id ,current-user-id) #:limit 1))
(define row (query-maybe-row (current-conn) query))
(cond
[(false? row) #f]
[else
(match-define (vector id name role_id) row)
(user id name role_id)]))
|