summaryrefslogtreecommitdiff
path: root/models/crop-requirement.rkt
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2025-10-20 20:41:07 +0200
committerMarius Peter <dev@marius-peter.com>2025-10-20 20:41:07 +0200
commitfddbcb3923d3dd019d07b3f37c033fab36c2cadc (patch)
tree87a185fe72e0c57e663677a004d7d24ef31fa314 /models/crop-requirement.rkt
parent9620cae7bba35503a2ea4679938f76749a34245a (diff)
Simplify get-* model accessors.
Diffstat (limited to 'models/crop-requirement.rkt')
-rw-r--r--models/crop-requirement.rkt30
1 files changed, 7 insertions, 23 deletions
diff --git a/models/crop-requirement.rkt b/models/crop-requirement.rkt
index f213441..d1c6ddd 100644
--- a/models/crop-requirement.rkt
+++ b/models/crop-requirement.rkt
@@ -13,12 +13,7 @@
number?)))
((or/c #f crop?))
crop-requirement?)]
- [get-crop-requirements (->* ()
- (#:id
- (or/c #f exact-nonnegative-integer?)
- #:profile
- (or/c #f string?))
- (listof crop-requirement?))]
+ [get-crop-requirements (-> (listof crop-requirement?))]
[get-crop-requirement (->* ()
(#:id
(or/c #f exact-nonnegative-integer?)
@@ -90,27 +85,16 @@
;; READ
-(define (get-crop-requirements #:id [id #f]
- #:profile [profile #f])
- (define (where-expr)
- (define clauses
- (filter values
- (list (and id (format "id = ~e" id))
- (and profile (format "profile = ~e" profile)))))
- (cond
- [(null? clauses) ""]
- [else (format "WHERE ~a" (string-join clauses " AND "))]))
- (define query (string-join
- `("SELECT id, profile"
- "FROM crop_requirements"
- ,(where-expr)
- "ORDER BY id ASC")))
+(define (get-crop-requirements)
(for/list ([(id* profile*)
- (in-query (current-conn) query)])
+ (in-query (current-conn)
+ (select id profile
+ #:from crop_requirements
+ #:order-by id #:asc))])
(crop-requirement id* profile*)))
(define (get-crop-requirement #:id [id #f]
- #:profile [profile #f])
+ #:profile [profile #f])
(define (where-expr)
(define clauses
(filter values
Copyright 2019--2025 Marius PETER