diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-12-06 17:55:58 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-12-06 17:55:58 +0100 |
| commit | c3557a7d5f54d7a9cb7fb2ece9487332c264236e (patch) | |
| tree | 1a87077374fba18f4ef38fb1ae084f6884e3cd5b /models/fertilizer-product.rkt | |
| parent | c7ec194f4a6c3dc879c24d8075bfe05a7687f976 (diff) | |
Update model contracts.
Great use of my new modules to factor out common model contract logic!
Diffstat (limited to 'models/fertilizer-product.rkt')
| -rw-r--r-- | models/fertilizer-product.rkt | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/models/fertilizer-product.rkt b/models/fertilizer-product.rkt index 7c1ca54..f7a5e9c 100644 --- a/models/fertilizer-product.rkt +++ b/models/fertilizer-product.rkt @@ -10,9 +10,7 @@ [create-fertilizer-product! (-> string? string? nutrient-value-hash/c fertilizer-product?)] [get-fertilizer-products (-> (listof fertilizer-product?))] [get-fertilizer-product - (->* () - (#:id exact-nonnegative-integer? #:canonical-name string?) - (or/c fertilizer-product? #f))] + (->* () (#:id db-id? #:canonical-name string?) (or/c fertilizer-product? #f))] [get-fertilizer-product-values (-> fertilizer-product-or-id/c nutrient-value-hash/c)] [get-fertilizer-product-value (-> fertilizer-product-or-id/c nutrient? maybe-nutrient-value?)] @@ -22,7 +20,9 @@ db sql "../db/conn.rkt" - "nutrient.rkt") + "nutrient.rkt" + "nutrient-value.rkt" + "utils.rkt") (struct fertilizer-product (id canonical-name nutrient-values brand-name) #:transparent @@ -46,12 +46,11 @@ (~a (nutrient-canonical-name n) #:min-width 14) (~a v #:max-width 6 #:align 'right))))) -(define fertilizer-product-id? exact-nonnegative-integer?) -(define fertilizer-product-or-id/c (or/c fertilizer-product? fertilizer-product-id?)) +(define fertilizer-product-or-id/c (or/c fertilizer-product? db-id?)) (define (->fp-id fp-or-id) (match fp-or-id - [(? fertilizer-product-id? id) id] + [(? db-id? id) id] [(fertilizer-product id _ _ _) id])) ;; CREATE |