diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-11-22 18:08:48 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-11-22 18:08:48 +0100 |
| commit | 09e2b04a7b469daa4b8b6fd89b88ae800d612fd6 (patch) | |
| tree | c42ba360b2894ffc39e5f6e19c6263d42b2ba42f /models | |
| parent | fc9f74466d0b56a089f8b6d8aed870e0b943f092 (diff) | |
Make fertilizer product brand name obligatory.
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)))) |