summaryrefslogtreecommitdiff
path: root/models/crop.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-10-20 20:43:00 +0200
committerMarius Peter <dev@marius-peter.com>2025-10-20 20:43:00 +0200
commite5ce6d6f23728bd3c5201fe6133ba75fcd3af4c9 (patch)
tree21b8c7927ee45093eab307aec2173807895a2fcd /models/crop.rkt
parentfddbcb3923d3dd019d07b3f37c033fab36c2cadc (diff)
Realign create-* model accessors.
Creating a model entity must return the newly created entity.
Diffstat (limited to 'models/crop.rkt')
-rw-r--r--models/crop.rkt10
1 files changed, 7 insertions, 3 deletions
diff --git a/models/crop.rkt b/models/crop.rkt
index f77cbaa..9550bfd 100644
--- a/models/crop.rkt
+++ b/models/crop.rkt
@@ -29,9 +29,13 @@
;; CREATE
(define (create-crop! name)
- (query-exec (current-conn)
- (insert #:into crops
- #:set [canonical_name ,name])))
+ (define existing-crop (get-crop #:name name))
+ (define (new-crop)
+ (query-exec (current-conn)
+ (insert #:into crops
+ #:set [canonical_name ,name])))
+ (or existing-crop
+ (new-crop)))
;; READ
Copyright 2019--2025 Marius PETER