From c3557a7d5f54d7a9cb7fb2ece9487332c264236e Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Sat, 6 Dec 2025 17:55:58 +0100 Subject: Update model contracts. Great use of my new modules to factor out common model contract logic! --- models/nutrient-measurement.rkt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'models/nutrient-measurement.rkt') diff --git a/models/nutrient-measurement.rkt b/models/nutrient-measurement.rkt index bc7a463..88177da 100644 --- a/models/nutrient-measurement.rkt +++ b/models/nutrient-measurement.rkt @@ -9,7 +9,7 @@ [create-nutrient-measurement! (-> string? nutrient-value-hash/c nutrient-measurement?)] [get-nutrient-measurements (-> (listof nutrient-measurement?))] [get-nutrient-measurement - (->* () (#:id exact-nonnegative-integer? #:date string?) (or/c nutrient-measurement? #f))] + (->* () (#:id db-id? #:date string?) (or/c nutrient-measurement? #f))] [get-nutrient-measurement-values (-> nutrient-measurement-or-id/c nutrient-value-hash/c)] [get-nutrient-measurement-value (-> nutrient-measurement-or-id/c nutrient? maybe-nutrient-value?)] @@ -22,7 +22,9 @@ db sql "../db/conn.rkt" - "nutrient.rkt") + "nutrient.rkt" + "nutrient-value.rkt" + "utils.rkt") (struct nutrient-measurement (id measurement-date nutrient-values) #:transparent @@ -38,12 +40,11 @@ (~a (nutrient-canonical-name n) #:min-width 14) (~a v #:max-width 6 #:align 'right))))) -(define nutrient-measurement-id? exact-nonnegative-integer?) -(define nutrient-measurement-or-id/c (or/c nutrient-measurement? nutrient-measurement-id?)) +(define nutrient-measurement-or-id/c (or/c nutrient-measurement? db-id?)) (define (->nm-id nm-or-id) (match nm-or-id - [(? nutrient-measurement-id? id) id] + [(? db-id? id) id] [(nutrient-measurement id _ _) id])) ;; CREATE -- cgit v1.2.3