Use nutrient-value-pair/c contract throughout domain model.

Commit
96a7702d4f8fe7840325ea75564801409d63d821
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 23740e7d..e5f8ae6f 100644..100644
@@ -1,14 +1,14 @@
1 1 #lang racket
2 2
3 3 (provide
4 Removed: ;; Struct definitions
4 Added: ;; Model struct
5 5 crop-requirement
6 6 crop-requirement?
7 7 crop-requirement-id crop-requirement-profile crop-requirement-crop-id
8 Removed: ;; SQL CRUD
9 8 (contract-out
9 Added: ;; SQL CRUD
10 10 [create-crop-requirement! (->* (string?
11 Removed: (listof (cons/c nutrient? number?)))
11 Added: (listof nutrient-value-pair/c))
12 12 ((or/c #f crop?))
13 13 crop-requirement?)]
14 14 [get-crop-requirements (-> (listof crop-requirement?))]
@@ -16,10 +16,14 @@
16 16 (#:id (or/c #f exact-nonnegative-integer?)
17 17 #:profile (or/c #f string?))
18 18 (or/c crop-requirement? #f))]
19 Removed: [get-crop-requirement-values (-> crop-requirement? (listof (cons/c nutrient? number?)))]
19 Added: [get-crop-requirement-values (-> crop-requirement? (listof nutrient-value-pair/c))]
20 20 [get-crop-requirement-value (-> crop-requirement? nutrient? number?)]
21 21 [get-latest-crop-requirement-value (-> nutrient? number?)]
22 Removed: [delete-crop-requirement! (-> crop-requirement? void?)]))
22 Added: [delete-crop-requirement! (-> crop-requirement? void?)]
23 Added: ;; Helpers
24 Added: [average-crop-requirement-nutrient-values (-> (listof (cons/c crop-requirement?
25 Added: (and/c real? (>=/c 0) (<=/c 100))))
26 Added: (listof nutrient-value-pair/c))]))
23 27
24 28 (require racket/contract
25 29 db
models/crop.rkt
index 0dfbbb5f..51b332da 100644..100644
@@ -1,12 +1,12 @@
1 1 #lang racket
2 2
3 3 (provide
4 Removed: ;; Struct definitions
4 Added: ;; Model struct
5 5 crop
6 6 crop?
7 7 crop-id crop-name
8 Removed: ;; SQL CRUD
9 8 (contract-out
9 Added: ;; SQL CRUD
10 10 [create-crop! (-> string? crop?)]
11 11 [get-crops (-> (listof crop?))]
12 12 [get-crop (->* ()
models/fertilizer-product.rkt
index 2322cc00..0809f732 100644..100644
@@ -1,7 +1,7 @@
1 1 #lang racket
2 2
3 3 (provide
4 Removed: ;; Struct definitions
4 Added: ;; Model struct
5 5 fertilizer-product
6 6 fertilizer-product?
7 7 fertilizer-product-id
@@ -9,10 +9,10 @@
9 9 [fertilizer-product-canonical-name fertilizer-name]
10 10 [fertilizer-product-nutrient-values fertilizer-product-values]
11 11 [fertilizer-product-brand-name fertilizer-brand-name])
12 Removed: ;; SQL CRUD
13 12 (contract-out
13 Added: ;; SQL CRUD
14 14 [create-fertilizer-product! (->* (string?
15 Removed: (listof (cons/c nutrient? number?)))
15 Added: (listof nutrient-value-pair/c))
16 16 (string?)
17 17 fertilizer-product?)]
18 18 [get-fertilizer-products (-> (listof fertilizer-product?))]
@@ -21,7 +21,7 @@
21 21 #:canonical-name (or/c #f string?))
22 22 (or/c fertilizer-product? #f))]
23 23 [get-fertilizer-product-values (-> fertilizer-product?
24 Removed: (listof (cons/c nutrient? number?)))]
24 Added: (listof nutrient-value-pair/c))]
25 25 [get-fertilizer-product-value (-> fertilizer-product? nutrient? number?)]
26 26 [delete-fertilizer-product! (-> fertilizer-product? void?)]))
27 27
models/nutrient-measurement.rkt
index e73a10e4..ee336fe9 100644..100644
@@ -1,17 +1,17 @@
1 1 #lang racket
2 2
3 3 (provide
4 Removed: ;; Struct definitions
4 Added: ;; Model struct
5 5 nutrient-measurement
6 6 nutrient-measurement?
7 7 nutrient-measurement-id
8 8 (rename-out
9 9 [nutrient-measurement-measured-on nutrient-measurement-date]
10 10 [nutrient-measurement-nutrient-values nutrient-measurement-values])
11 Removed: ;; SQL CRUD
12 11 (contract-out
12 Added: ;; SQL CRUD
13 13 [create-nutrient-measurement! (-> string?
14 Removed: (listof (cons/c nutrient? number?))
14 Added: (listof nutrient-value-pair/c)
15 15 nutrient-measurement?)]
16 16 [get-nutrient-measurements (-> (listof nutrient-measurement?))]
17 17 [get-nutrient-measurement (->* ()
@@ -19,7 +19,7 @@
19 19 #:measured-on (or/c #f string?))
20 20 (or/c nutrient-measurement? #f))]
21 21 [get-nutrient-measurement-values (-> nutrient-measurement?
22 Removed: (listof (cons/c nutrient? number?)))]
22 Added: (listof nutrient-value-pair/c))]
23 23 [get-nutrient-measurement-value (-> nutrient-measurement? nutrient? number?)]
24 24 [get-latest-nutrient-measurement-value (-> nutrient? (or/c number? #f))]
25 25 [delete-nutrient-measurement! (-> nutrient-measurement? void?)]))
models/nutrient-target.rkt
index 2d85e6ef..c2f9c2e8 100644..100644
@@ -1,24 +1,24 @@
1 1 #lang racket
2 2
3 3 (provide
4 Removed: ;; Struct definitions
4 Added: ;; Model struct
5 5 nutrient-target
6 6 nutrient-target?
7 7 nutrient-target-id
8 8 (rename-out
9 9 [nutrient-target-effective-on nutrient-target-date]
10 10 [nutrient-target-nutrient-values nutrient-target-values])
11 Removed: ;; SQL CRUD
12 11 (contract-out
12 Added: ;; SQL CRUD
13 13 [create-nutrient-target! (-> string?
14 Removed: (listof (cons/c nutrient? number?))
14 Added: (listof nutrient-value-pair/c)
15 15 nutrient-target?)]
16 16 [get-nutrient-targets (-> (listof nutrient-target?))]
17 17 [get-nutrient-target (->* ()
18 18 (#:id (or/c #f exact-nonnegative-integer?)
19 19 #:effective-on (or/c #f string?))
20 20 (or/c nutrient-target? #f))]
21 Removed: [get-nutrient-target-values (-> nutrient-target? (listof (cons/c nutrient? number?)))]
21 Added: [get-nutrient-target-values (-> nutrient-target? (listof nutrient-value-pair/c))]
22 22 [get-nutrient-target-value (-> nutrient-target? nutrient? number?)]
23 23 [get-latest-nutrient-target-value (-> nutrient? (or/c number? #f))]
24 24 [delete-nutrient-target! (-> nutrient-target? void?)]))
models/user.rkt
index 2cbf4fea..a56b469c 100644..100644
@@ -1,14 +1,14 @@
1 1 #lang racket
2 2
3 3 (provide
4 Removed: ;; Struct definitions
4 Added: ;; Model struct
5 5 user
6 6 user?
7 7 user-id
8 8 user-name
9 9 user-role
10 Removed: ;; SQL CRUD
11 10 (contract-out
11 Added: ;; SQL CRUD
12 12 [get-current-user (-> (or/c user? #f))]
13 13 #; [delete-user! (-> user? void?)]))
14 14