diff options
Diffstat (limited to 'models')
| -rw-r--r-- | models/fertilizer-product.rkt | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/models/fertilizer-product.rkt b/models/fertilizer-product.rkt index f9965c2..347d141 100644 --- a/models/fertilizer-product.rkt +++ b/models/fertilizer-product.rkt @@ -6,17 +6,16 @@ (rename-out [fertilizer-product-canonical-name fertilizer-name] [fertilizer-product-nutrient-values fertilizer-product-values] [fertilizer-product-brand-name fertilizer-brand-name]) - (contract-out [create-fertilizer-product! - (->* (string? nutrient-value-hash/c) (string?) fertilizer-product?)] - [get-fertilizer-products (-> (listof fertilizer-product?))] - [get-fertilizer-product - (->* () - (#:id (or/c #f exact-nonnegative-integer?) - #:canonical-name (or/c #f string?)) - (or/c fertilizer-product? #f))] - [get-fertilizer-product-values (-> fertilizer-product? nutrient-value-hash/c)] - [get-fertilizer-product-value (-> fertilizer-product? nutrient? number?)] - [delete-fertilizer-product! (-> fertilizer-product? void?)])) + (contract-out + [create-fertilizer-product! (-> string? string? nutrient-value-hash/c fertilizer-product?)] + [get-fertilizer-products (-> (listof fertilizer-product?))] + [get-fertilizer-product + (->* () + (#:id (or/c #f exact-nonnegative-integer?) #:canonical-name (or/c #f string?)) + (or/c fertilizer-product? #f))] + [get-fertilizer-product-values (-> fertilizer-product? nutrient-value-hash/c)] + [get-fertilizer-product-value (-> fertilizer-product? nutrient? (or/c #f number?))] + [delete-fertilizer-product! (-> fertilizer-product? void?)])) (require racket/contract db @@ -45,17 +44,14 @@ ;; CREATE -(define (create-fertilizer-product! canonical-name nutrient-values [brand-name #f]) +(define (create-fertilizer-product! canonical-name brand-name nutrient-values) (or (get-fertilizer-product #:canonical-name canonical-name) (with-tx (query-exec (current-conn) - (cond - [brand-name - (insert #:into fertilizer_products - #:set [canonical_name ,canonical-name] - [brand_name ,brand-name])] - [else (insert #:into fertilizer_products #:set [canonical_name ,canonical-name])])) + (insert #:into fertilizer_products + #:set [canonical_name ,canonical-name] + [brand_name ,brand-name])) (define fp-id (query-value (current-conn) (select id #:from fertilizer_products #:where (= canonical_name ,canonical-name)))) |