summaryrefslogtreecommitdiff
path: root/models/nutrient-measurement.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-12-13 22:45:27 +0100
committerMarius Peter <dev@marius-peter.com>2025-12-13 22:45:27 +0100
commit57933beea0d308588968a6a11ec5a28c0467e224 (patch)
tree55d49eca5626c9091462a07d84c272e323e51daf /models/nutrient-measurement.rkt
parent21d5ace6a0f90c4e7e6fd6a19cae4cfce7d45c97 (diff)
Measurements and fertilizers can now be persisted 2 ways.
Diffstat (limited to 'models/nutrient-measurement.rkt')
-rw-r--r--models/nutrient-measurement.rkt14
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
Copyright 2019--2026 Marius PETER