summaryrefslogtreecommitdiff
path: root/models/nutrient.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'models/nutrient.rkt')
-rw-r--r--models/nutrient.rkt10
1 files changed, 7 insertions, 3 deletions
diff --git a/models/nutrient.rkt b/models/nutrient.rkt
index f2ef4fd..6bbaf56 100644
--- a/models/nutrient.rkt
+++ b/models/nutrient.rkt
@@ -31,9 +31,13 @@
;; CREATE
(define (create-nutrient! name formula)
- (query-exec (current-conn)
- (insert #:into nutrients
- #:set [canonical_name ,name] [formula ,formula])))
+ (define existing-nutrient (get-nutrient #:name name #:formula formula))
+ (define (new-nutrient)
+ (query-exec (current-conn)
+ (insert #:into nutrients
+ #:set [canonical_name ,name] [formula ,formula])))
+ (or existing-nutrient
+ (new-nutrient)))
;; READ
Copyright 2019--2025 Marius PETER