Simplify retrieval of all nutrient measurements and targets.

Commit
70ae2a00292e7e2cfc8530a3301e3f5b0654f5f2
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
models/nutrient-measurement.rkt
index 8364aa7f..28e3bdcc 100644..100644
@@ -12,10 +12,8 @@
12 12 nutrient?
13 13 number?))
14 14 nutrient-measurement?)]
15 Removed: [get-nutrient-measurements (->* ()
16 Removed: (#:id (or/c #f exact-nonnegative-integer?)
17 Removed: #:measured-on (or/c #f string?))
18 Removed: (listof nutrient-measurement?))]
15 Added: [get-nutrient-measurements (-> void?
16 Added: (listof nutrient-measurement?))]
19 17 [get-nutrient-measurement (->* ()
20 18 (#:id (or/c #f exact-nonnegative-integer?)
21 19 #:measured-on (or/c #f string?))
@@ -80,23 +78,13 @@
80 78
81 79 ;; READ
82 80
83 Removed: (define (get-nutrient-measurements #:id [id #f]
84 Removed: #:measured-on [measured-on #f])
85 Removed: (define (where-expr)
86 Removed: (define clauses
87 Removed: (filter values
88 Removed: (list (and id (format "id = ~e" id))
89 Removed: (and measured-on (format "measured_on = ~e" measured-on)))))
90 Removed: (cond
91 Removed: [(null? clauses) ""]
92 Removed: [else (format "WHERE ~a" (string-join clauses " AND "))]))
93 Removed: (define query (string-join
94 Removed: `("SELECT id, measured_on"
95 Removed: "FROM nutrient_measurements"
96 Removed: ,(where-expr)
97 Removed: "ORDER BY id ASC")))
81 Added: (define (get-nutrient-measurements)
98 82 (for/list ([(id* measured-on*)
99 Removed: (in-query (current-conn) query)])
83 Added: (in-query (current-conn)
84 Added: (string-join
85 Added: `("SELECT id, measured_on"
86 Added: "FROM nutrient_measurements"
87 Added: "ORDER BY id ASC")))])
100 88 (nutrient-measurement id* measured-on*)))
101 89
102 90 (define (get-nutrient-measurement #:id [id #f]
models/nutrient-target.rkt
index 6483997a..e9c168ee 100644..100644
@@ -12,12 +12,8 @@
12 12 nutrient?
13 13 number?))
14 14 nutrient-target?)]
15 Removed: [get-nutrient-targets (->* ()
16 Removed: (#:id
17 Removed: (or/c #f exact-nonnegative-integer?)
18 Removed: #:effective-on
19 Removed: (or/c #f string?))
20 Removed: (listof nutrient-target?))]
15 Added: [get-nutrient-targets (-> void?
16 Added: (listof nutrient-target?))]
21 17 [get-nutrient-target (->* ()
22 18 (#:id
23 19 (or/c #f exact-nonnegative-integer?)
@@ -85,23 +81,13 @@
85 81
86 82 ;; READ
87 83
88 Removed: (define (get-nutrient-targets #:id [id #f]
89 Removed: #:effective-on [effective-on #f])
90 Removed: (define (where-expr)
91 Removed: (define clauses
92 Removed: (filter values
93 Removed: (list (and id (format "id = ~e" id))
94 Removed: (and effective-on (format "effective_on = ~e" effective-on)))))
95 Removed: (cond
96 Removed: [(null? clauses) ""]
97 Removed: [else (format "WHERE ~a" (string-join clauses " AND "))]))
98 Removed: (define query (string-join
99 Removed: `("SELECT id, effective_on"
100 Removed: "FROM nutrient_targets"
101 Removed: ,(where-expr)
102 Removed: "ORDER BY id ASC")))
84 Added: (define (get-nutrient-targets)
103 85 (for/list ([(id* effective-on*)
104 Removed: (in-query (current-conn) query)])
86 Added: (in-query (current-conn)
87 Added: (string-join
88 Added: `("SELECT id, effective_on"
89 Added: "FROM nutrient_targets"
90 Added: "ORDER BY id ASC")))])
105 91 (nutrient-target id* effective-on*)))
106 92
107 93 (define (get-nutrient-target #:id [id #f]