blob: 9c7f623e0f7b9244e6ac217edfb1a64ea46df8e1 (
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
|
#lang racket
(provide user
user?
user-id
user-name
user-role
(contract-out [get-current-user (-> (or/c user? #f))]))
(require 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)]))
|