summaryrefslogtreecommitdiff
path: root/models/fertilizer-product.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-11-22 18:08:48 +0100
committerMarius Peter <dev@marius-peter.com>2025-11-22 18:08:48 +0100
commit09e2b04a7b469daa4b8b6fd89b88ae800d612fd6 (patch)
treec42ba360b2894ffc39e5f6e19c6263d42b2ba42f /models/fertilizer-product.rkt
parentfc9f74466d0b56a089f8b6d8aed870e0b943f092 (diff)
Make fertilizer product brand name obligatory.
Diffstat (limited to 'models/fertilizer-product.rkt')
-rw-r--r--models/fertilizer-product.rkt32
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))))
Copyright 2019--2026 Marius PETER