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/crop-requirement.rkt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'models/crop-requirement.rkt') diff --git a/models/crop-requirement.rkt b/models/crop-requirement.rkt index bc02fb5..256305e 100644 --- a/models/crop-requirement.rkt +++ b/models/crop-requirement.rkt @@ -9,8 +9,7 @@ (contract-out [create-crop-requirement! (->* (string? nutrient-value-hash/c) (crop?) crop-requirement?)] [get-crop-requirements (-> (listof crop-requirement?))] - [get-crop-requirement - (->* () (#:id exact-nonnegative-integer? #:profile string?) (or/c crop-requirement? #f))] + [get-crop-requirement (->* () (#:id db-id? #:profile string?) (or/c crop-requirement? #f))] [get-crop-requirement-values (-> crop-requirement-or-id/c nutrient-value-hash/c)] [get-crop-requirement-value (-> crop-requirement-or-id/c nutrient? maybe-nutrient-value?)] [delete-crop-requirement! (-> crop-requirement-or-id/c void?)] @@ -22,19 +21,20 @@ sql "../db/conn.rkt" "nutrient.rkt" - "crop.rkt") + "nutrient-value.rkt" + "crop.rkt" + "utils.rkt") (struct crop-requirement (id profile crop-id nutrient-values) #:transparent #:guard (λ (id profile crop-id nutrient-values _) (values id profile (if (sql-null? crop-id) #f crop-id) nutrient-values))) -(define crop-requirement-id? exact-nonnegative-integer?) -(define crop-requirement-or-id/c (or/c crop-requirement? crop-requirement-id?)) +(define crop-requirement-or-id/c (or/c crop-requirement? db-id?)) (define (->cr-id cr-or-id) (match cr-or-id - [(? crop-requirement-id? cr-or-id) cr-or-id] + [(? db-id? cr-or-id) cr-or-id] [(crop-requirement id _ _ _) id])) ;; CREATE -- cgit v1.2.3