diff options
Diffstat (limited to 'models/crop-requirement.rkt')
| -rw-r--r-- | models/crop-requirement.rkt | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/models/crop-requirement.rkt b/models/crop-requirement.rkt index 23740e7..e5f8ae6 100644 --- a/models/crop-requirement.rkt +++ b/models/crop-requirement.rkt @@ -1,14 +1,14 @@ #lang racket (provide - ;; Struct definitions + ;; Model struct crop-requirement crop-requirement? crop-requirement-id crop-requirement-profile crop-requirement-crop-id - ;; SQL CRUD (contract-out + ;; SQL CRUD [create-crop-requirement! (->* (string? - (listof (cons/c nutrient? number?))) + (listof nutrient-value-pair/c)) ((or/c #f crop?)) crop-requirement?)] [get-crop-requirements (-> (listof crop-requirement?))] @@ -16,10 +16,14 @@ (#:id (or/c #f exact-nonnegative-integer?) #:profile (or/c #f string?)) (or/c crop-requirement? #f))] - [get-crop-requirement-values (-> crop-requirement? (listof (cons/c nutrient? number?)))] + [get-crop-requirement-values (-> crop-requirement? (listof nutrient-value-pair/c))] [get-crop-requirement-value (-> crop-requirement? nutrient? number?)] [get-latest-crop-requirement-value (-> nutrient? number?)] - [delete-crop-requirement! (-> crop-requirement? void?)])) + [delete-crop-requirement! (-> crop-requirement? void?)] + ;; Helpers + [average-crop-requirement-nutrient-values (-> (listof (cons/c crop-requirement? + (and/c real? (>=/c 0) (<=/c 100)))) + (listof nutrient-value-pair/c))])) (require racket/contract db |