raco fmt.

Commit
e49ca1f3999127bee5888b44c3900b5483ecebd0
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
models/crop-requirement.rkt
index 8d99434a..f6193bf4 100644..100644
@@ -1,6 +1,5 @@
1 1 #lang racket
2 2
3 Removed: ;; Model struct
4 3 (provide crop-requirement
5 4 crop-requirement?
6 5 crop-requirement-id
@@ -8,7 +7,6 @@
8 7 crop-requirement-crop-id
9 8 (rename-out [crop-requirement-nutrient-values crop-requirement-values])
10 9 (contract-out
11 Removed: ;; SQL CRUD
12 10 [create-crop-requirement!
13 11 (->* (string? (listof nutrient-value-pair/c)) ((or/c #f crop?)) crop-requirement?)]
14 12 [get-crop-requirements (-> (listof crop-requirement?))]
@@ -18,9 +16,7 @@
18 16 (or/c crop-requirement? #f))]
19 17 [get-crop-requirement-values (-> crop-requirement? (listof nutrient-value-pair/c))]
20 18 [get-crop-requirement-value (-> crop-requirement? nutrient? number?)]
21 Removed: [get-latest-crop-requirement-value (-> nutrient? number?)]
22 19 [delete-crop-requirement! (-> crop-requirement? void?)]
23 Removed: ;; Helpers
24 20 [average-crop-requirement-nutrient-values
25 21 (-> (listof (cons/c crop-requirement? (and/c real? (>=/c 0) (<=/c 100))))
26 22 (listof nutrient-value-pair/c))]))
@@ -39,27 +35,28 @@
39 35 ;; CREATE
40 36
41 37 (define (create-crop-requirement! profile nutrient-values [crop #f])
42 Removed: (or (get-crop-requirement #:profile profile)
43 Removed: (with-tx
44 Removed: (query-exec
45 Removed: (current-conn)
46 Removed: (if crop
47 Removed: (insert #:into crop_requirements #:set [crop_id ,(crop-id crop)] [profile ,profile])
48 Removed: (insert #:into crop_requirements #:set [profile ,profile])))
49 Removed: (define cr-id (crop-requirement-id (get-crop-requirement #:profile profile)))
50 Removed: (query-exec (current-conn)
51 Removed: (insert #:into nutrient_value_sets #:set [crop_requirement_id ,cr-id]))
52 Removed: (define nvs-id
53 Removed: (query-value (current-conn)
54 Removed: (select id #:from nutrient_value_sets #:where (= crop_requirement_id ,cr-id))))
55 Removed: (for ([nv nutrient-values])
56 Removed: (match-define (cons n v) nv)
57 Removed: (query-exec (current-conn)
58 Removed: (insert #:into nutrient_values
59 Removed: #:set [value_set_id ,nvs-id]
60 Removed: [nutrient_id ,(nutrient-id n)]
61 Removed: [value_ppm ,v])))
62 Removed: (get-crop-requirement #:profile profile))))
38 Added: (or
39 Added: (get-crop-requirement #:profile profile)
40 Added: (with-tx
41 Added: (query-exec
42 Added: (current-conn)
43 Added: (if crop
44 Added: (insert #:into crop_requirements #:set [crop_id ,(crop-id crop)] [profile ,profile])
45 Added: (insert #:into crop_requirements #:set [profile ,profile])))
46 Added: (define cr-id
47 Added: (query-value (current-conn) (select id #:from crop_requirements #:where (= profile ,profile))))
48 Added: (query-exec (current-conn) (insert #:into nutrient_value_sets #:set [crop_requirement_id ,cr-id]))
49 Added: (define nvs-id
50 Added: (query-value (current-conn)
51 Added: (select id #:from nutrient_value_sets #:where (= crop_requirement_id ,cr-id))))
52 Added: (for ([nv nutrient-values])
53 Added: (match-define (cons n v) nv)
54 Added: (query-exec (current-conn)
55 Added: (insert #:into nutrient_values
56 Added: #:set [value_set_id ,nvs-id]
57 Added: [nutrient_id ,(nutrient-id n)]
58 Added: [value_ppm ,v])))
59 Added: (get-crop-requirement #:profile profile))))
63 60
64 61 ;; READ
65 62
models/crop.rkt
index edbb7a39..44a38ced 100644..100644
@@ -1,11 +1,9 @@
1 1 #lang racket
2 2
3 Removed: ;; Model struct
4 3 (provide crop
5 4 crop?
6 5 crop-id
7 6 crop-name
8 Removed: ;; SQL CRUD
9 7 (contract-out [create-crop! (-> string? crop?)]
10 8 [get-crops (-> (listof crop?))]
11 9 [get-crop
models/fertilizer-product.rkt
index 225af100..d4006ac9 100644..100644
@@ -1,6 +1,5 @@
1 1 #lang racket
2 2
3 Removed: ;; Model struct
4 3 (provide fertilizer-product
5 4 fertilizer-product?
6 5 fertilizer-product-id
@@ -8,7 +7,6 @@
8 7 [fertilizer-product-nutrient-values fertilizer-product-values]
9 8 [fertilizer-product-brand-name fertilizer-brand-name])
10 9 (contract-out
11 Removed: ;; SQL CRUD
12 10 [create-fertilizer-product!
13 11 (->* (string? (listof nutrient-value-pair/c)) (string?) fertilizer-product?)]
14 12 [get-fertilizer-products (-> (listof fertilizer-product?))]
@@ -26,7 +24,6 @@
26 24 "../db/conn.rkt"
27 25 "nutrient.rkt")
28 26
29 Removed: ;; Instances of this struct are persisted in the fertilizer_products table.
30 27 (struct fertilizer-product (id canonical-name nutrient-values brand-name)
31 28 #:transparent
32 29 #:guard (λ (id canonical-name nutrient-values brand-name _)
@@ -161,14 +158,14 @@
161 158 n.formula
162 159 nv.value_ppm
163 160 #:from (TableExpr:AST ,joined)
164 Removed: #:where (= nm.id ,(fertilizer-product-id fertilizer-product))))])
161 Added: #:where (= fp.id ,(fertilizer-product-id fertilizer-product))))])
165 162 (cons (nutrient nutrient-id name formula) value_ppm)))
166 163
167 164 (define (get-fertilizer-product-value fertilizer-product nutrient)
168 165 (query-maybe-value (current-conn)
169 166 (select value_ppm
170 167 #:from (TableExpr:AST ,joined)
171 Removed: #:where (and (= nm.id ,(fertilizer-product-id fertilizer-product))
168 Added: #:where (and (= fp.id ,(fertilizer-product-id fertilizer-product))
172 169 (= nv.nutrient_id ,(nutrient-id nutrient))))))
173 170
174 171 ;; UPDATE
models/nutrient-measurement.rkt
index 5b999d83..1cabf63e 100644..100644
@@ -1,28 +1,23 @@
1 1 #lang racket
2 2
3 Removed: (provide
4 Removed: ;; Model struct
5 Removed: nutrient-measurement
6 Removed: nutrient-measurement?
7 Removed: nutrient-measurement-id
8 Removed: (rename-out
9 Removed: [nutrient-measurement-measured-on nutrient-measurement-date]
10 Removed: [nutrient-measurement-nutrient-values nutrient-measurement-values])
11 Removed: (contract-out
12 Removed: ;; SQL CRUD
13 Removed: [create-nutrient-measurement! (-> string?
14 Removed: (listof nutrient-value-pair/c)
15 Removed: nutrient-measurement?)]
16 Removed: [get-nutrient-measurements (-> (listof nutrient-measurement?))]
17 Removed: [get-nutrient-measurement (->* ()
18 Removed: (#:id (or/c #f exact-nonnegative-integer?)
19 Removed: #:measured-on (or/c #f string?))
20 Removed: (or/c nutrient-measurement? #f))]
21 Removed: [get-nutrient-measurement-values (-> nutrient-measurement?
22 Removed: (listof nutrient-value-pair/c))]
23 Removed: [get-nutrient-measurement-value (-> nutrient-measurement? nutrient? number?)]
24 Removed: [get-latest-nutrient-measurement-value (-> nutrient? (or/c number? #f))]
25 Removed: [delete-nutrient-measurement! (-> nutrient-measurement? void?)]))
3 Added: (provide nutrient-measurement
4 Added: nutrient-measurement?
5 Added: nutrient-measurement-id
6 Added: (rename-out [nutrient-measurement-measured-on nutrient-measurement-date]
7 Added: [nutrient-measurement-nutrient-values nutrient-measurement-values])
8 Added: (contract-out
9 Added: [create-nutrient-measurement!
10 Added: (-> string? (listof nutrient-value-pair/c) nutrient-measurement?)]
11 Added: [get-nutrient-measurements (-> (listof nutrient-measurement?))]
12 Added: [get-nutrient-measurement
13 Added: (->* ()
14 Added: (#:id (or/c #f exact-nonnegative-integer?) #:measured-on (or/c #f string?))
15 Added: (or/c nutrient-measurement? #f))]
16 Added: [get-nutrient-measurement-values (-> nutrient-measurement? (listof nutrient-value-pair/c))]
17 Added: [get-nutrient-measurement-value (-> nutrient-measurement? nutrient? number?)]
18 Added: [get-latest-nutrient-measurement-value (-> nutrient? (or/c number? #f))]
19 Added: [get-latest-nutrient-measurement-hash (-> (hash/c nutrient? number?))]
20 Added: [delete-nutrient-measurement! (-> nutrient-measurement? void?)]))
26 21
27 22 (require racket/contract
28 23 db
@@ -30,7 +25,6 @@
30 25 "../db/conn.rkt"
31 26 "nutrient.rkt")
32 27
33 Removed: ;; Instances of this struct are persisted in the nutrient_measurements table.
34 28 (struct nutrient-measurement (id measured-on nutrient-values)
35 29 #:transparent
36 30 #:property prop:custom-write
models/nutrient-target.rkt
index 922dba71..77d0b4c6 100644..100644
@@ -1,27 +1,22 @@
1 1 #lang racket
2 2
3 Removed: (provide
4 Removed: ;; Model struct
5 Removed: nutrient-target
6 Removed: nutrient-target?
7 Removed: nutrient-target-id
8 Removed: (rename-out
9 Removed: [nutrient-target-effective-on nutrient-target-date]
10 Removed: [nutrient-target-nutrient-values nutrient-target-values])
11 Removed: (contract-out
12 Removed: ;; SQL CRUD
13 Removed: [create-nutrient-target! (-> string?
14 Removed: (listof nutrient-value-pair/c)
15 Removed: nutrient-target?)]
16 Removed: [get-nutrient-targets (-> (listof nutrient-target?))]
17 Removed: [get-nutrient-target (->* ()
18 Removed: (#:id (or/c #f exact-nonnegative-integer?)
19 Removed: #:effective-on (or/c #f string?))
20 Removed: (or/c nutrient-target? #f))]
21 Removed: [get-nutrient-target-values (-> nutrient-target? (listof nutrient-value-pair/c))]
22 Removed: [get-nutrient-target-value (-> nutrient-target? nutrient? number?)]
23 Removed: [get-latest-nutrient-target-value (-> nutrient? (or/c number? #f))]
24 Removed: [delete-nutrient-target! (-> nutrient-target? void?)]))
3 Added: (provide nutrient-target
4 Added: nutrient-target?
5 Added: nutrient-target-id
6 Added: (rename-out [nutrient-target-effective-on nutrient-target-date]
7 Added: [nutrient-target-nutrient-values nutrient-target-values])
8 Added: (contract-out
9 Added: [create-nutrient-target! (-> string? (listof nutrient-value-pair/c) nutrient-target?)]
10 Added: [get-nutrient-targets (-> (listof nutrient-target?))]
11 Added: [get-nutrient-target
12 Added: (->* ()
13 Added: (#:id (or/c #f exact-nonnegative-integer?) #:effective-on (or/c #f string?))
14 Added: (or/c nutrient-target? #f))]
15 Added: [get-nutrient-target-values (-> nutrient-target? (listof nutrient-value-pair/c))]
16 Added: [get-nutrient-target-value (-> nutrient-target? nutrient? number?)]
17 Added: [get-latest-nutrient-target-value (-> nutrient? (or/c number? #f))]
18 Added: [get-latest-nutrient-target-hash (-> (hash/c nutrient? number?))]
19 Added: [delete-nutrient-target! (-> nutrient-target? void?)]))
25 20
26 21 (require racket/contract
27 22 db
@@ -29,7 +24,6 @@
29 24 "../db/conn.rkt"
30 25 "nutrient.rkt")
31 26
32 Removed: ;; Instances of this struct are persisted in the nutrient_targets table.
33 27 (struct nutrient-target (id effective-on nutrient-values)
34 28 #:transparent
35 29 #:property prop:custom-write
@@ -143,14 +137,14 @@
143 137 n.formula
144 138 nv.value_ppm
145 139 #:from (TableExpr:AST ,joined)
146 Removed: #:where (= nm.id ,(nutrient-target-id nutrient-target))))])
140 Added: #:where (= nt.id ,(nutrient-target-id nutrient-target))))])
147 141 (cons (nutrient nutrient-id name formula) value_ppm)))
148 142
149 143 (define (get-nutrient-target-value nutrient-target nutrient)
150 144 (query-maybe-value (current-conn)
151 145 (select value_ppm
152 146 #:from (TableExpr:AST ,joined)
153 Removed: #:where (and (= nm.id ,(nutrient-target-id nutrient-target))
147 Added: #:where (and (= nt.id ,(nutrient-target-id nutrient-target))
154 148 (= nv.nutrient_id ,(nutrient-id nutrient))))))
155 149
156 150 (define (get-latest-nutrient-target-value nutrient)
models/nutrient.rkt
index 49921d7d..91be68f0 100644..100644
@@ -1,14 +1,11 @@
1 1 #lang racket
2 2
3 Removed: ;; Model struct
4 3 (provide nutrient
5 4 nutrient?
6 5 nutrient-id
7 6 nutrient-name
8 7 nutrient-formula
9 Removed: ;; Contracts
10 8 nutrient-value-pair/c
11 Removed: ;; SQL CRUD
12 9 (contract-out [create-nutrient! (-> string? string? nutrient?)]
13 10 [get-nutrients (-> (listof nutrient?))]
14 11 [get-nutrient
models/user.rkt
index 45ca1548..526ea202 100644..100644
@@ -1,13 +1,11 @@
1 1 #lang racket
2 2
3 Removed: ;; Model struct
4 3 (provide user
5 4 user?
6 5 user-id
7 6 user-name
8 7 user-role
9 Removed: ;; SQL CRUD
10 Removed: (contract-out [get-current-user (-> (or/c user? #f))] #;[delete-user! (-> user? void?)]))
8 Added: (contract-out [get-current-user (-> (or/c user? #f))]))
11 9
12 10 (require racket/contract
13 11 db
views.rkt
index 58935123..7e4f4d9e 100644..100644
@@ -116,22 +116,24 @@
116 116 (define latest-measurement (get-latest-nutrient-measurement-value n))
117 117 (define delta-percentage
118 118 (cond
119 Removed: [(false? latest-target)
120 Removed: #f]
121 Removed: [(zero? latest-target)
122 Removed: -100]
123 Removed: [(zero? latest-measurement)
124 Removed: 100]
119 Added: [(false? latest-target) #f]
120 Added: [(zero? latest-target) -100]
121 Added: [(zero? latest-measurement) 100]
125 122 [(number? latest-target)
126 Removed: (* 100
127 Removed: (/ (- latest-target latest-measurement)
128 Removed: latest-measurement))]))
123 Added: (* 100 (/ (- latest-target latest-measurement) latest-measurement))]))
129 124 `(tr (td ,(nutrient-name n))
130 Removed: (td ([class "text-end font-monospace"]) ,(if latest-measurement (round 2 latest-measurement) "—"))
131 Removed: (td ([class "text-end font-monospace"]) ,(if latest-target (round 2 latest-target) "—"))
132 Removed: (td ([class "text-end font-monospace"]) ,(if delta-percentage (round 1 delta-percentage) "—")))))
133 Removed:
134 Removed:
125 Added: (td ((class "text-end font-monospace"))
126 Added: ,(if latest-measurement
127 Added: (round 2 latest-measurement)
128 Added: "—"))
129 Added: (td ((class "text-end font-monospace"))
130 Added: ,(if latest-target
131 Added: (round 2 latest-target)
132 Added: "—"))
133 Added: (td ((class "text-end font-monospace"))
134 Added: ,(if delta-percentage
135 Added: (round 1 delta-percentage)
136 Added: "—")))))
135 137 ;;;;;;;;;;
136 138 ;; Relevés
137 139 ;;;;;;;;;;