From 1f3aad4a542981d1681989accdfcf5bad38b8b2c Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 1 Nov 2025 18:07:00 +0100 Subject: Realign 'crop' model interface. --- models/crop.rkt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/models/crop.rkt b/models/crop.rkt index acb5afb..243f783 100644 --- a/models/crop.rkt +++ b/models/crop.rkt @@ -7,7 +7,7 @@ crop-id crop-name ;; SQL CRUD (contract-out - [create-crop! (-> string? void?)] + [create-crop! (-> string? crop?)] [get-crops (-> (listof crop?))] [get-crop (->* () (#:id (or/c #f exact-nonnegative-integer?) @@ -29,13 +29,12 @@ ;; CREATE (define (create-crop! 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))) + (or (get-crop #:name name) + (begin + (query-exec (current-conn) + (insert #:into crops + #:set [canonical_name ,name])) + (get-crop #:name name)))) ;; READ -- cgit v1.2.3