diff options
Diffstat (limited to 'models/nutrient-measurement.rkt')
| -rw-r--r-- | models/nutrient-measurement.rkt | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/models/nutrient-measurement.rkt b/models/nutrient-measurement.rkt index f4bfa8e..fea7b89 100644 --- a/models/nutrient-measurement.rkt +++ b/models/nutrient-measurement.rkt @@ -7,7 +7,9 @@ (rename-out [nutrient-measurement-measurement-date nutrient-measurement-date] [nutrient-measurement-nutrient-values nutrient-measurement-values]) (contract-out - [create-nutrient-measurement! (-> string? nutrient-value-hash/c nutrient-measurement?)] + [create-nutrient-measurement! + (case-> (-> nutrient-measurement? nutrient-measurement?) + (-> string? nutrient-value-hash/c nutrient-measurement?))] [get-nutrient-measurements (-> (listof nutrient-measurement?))] [get-nutrient-measurement (->* () (#:id db-id? #:date string?) (or/c nutrient-measurement? #f))] @@ -51,7 +53,15 @@ ;; CREATE -(define (create-nutrient-measurement! measurement-date nutrient-values) +(define create-nutrient-measurement! + (case-lambda + [(nm) (create-nutrient-measurement!/nm nm)] + [(measurement-date nutrient-values) + (create-nutrient-measurement!/nm (nutrient-measurement #f measurement-date nutrient-values))])) + +(define (create-nutrient-measurement!/nm nm) + (define measurement-date (nutrient-measurement-measurement-date nm)) + (define nutrient-values (nutrient-measurement-nutrient-values nm)) (with-tx (define nm-id (insert-id (query (current-conn) (insert #:into nutrient_measurements |