diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-11-01 18:07:00 +0100 | 
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-11-01 18:07:00 +0100 | 
| commit | 1f3aad4a542981d1681989accdfcf5bad38b8b2c (patch) | |
| tree | ffbc1b14ca943c6f3c38f6c64ef1df5cd85a1f44 /models/crop.rkt | |
| parent | f0239beb0744260579e9631e84c53145ba1ce7d6 (diff) | |
Realign 'crop' model interface.
Diffstat (limited to 'models/crop.rkt')
| -rw-r--r-- | models/crop.rkt | 15 | 
1 files 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  |