This repository was archived by the owner on Oct 23, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +14
-27
lines changed
Expand file tree Collapse file tree 2 files changed +14
-27
lines changed Original file line number Diff line number Diff line change 142142 :default (Integer/parseInt val))]
143143 query)
144144 (catch NumberFormatException e;
145- (add-error query clause " Please use an integer ." ))))))
145+ (add-error query clause " Please enter a number ." ))))))
146146
147- (defn- validate-intsize
148- [query clause]
149- (let [val (clause query)]
150- (try
151- (if (and (integer? (Integer/parseInt val)) (> 10000 (Integer/parseInt val)))
152- query
153- (if (and (integer? (Integer/parseInt val)) (< 10000 (Integer/parseInt val)))
154- (add-error query clause " Offset must be < 10000." )
155- (try
156- (let [_ (cond
157- (integer? val) val
158- (nil? val) 0
159- :default (Integer/parseInt val))]
160- query)
161- (catch NumberFormatException e;
162- (add-error query clause " Please use an integer." )))))
163- (catch NumberFormatException e;
164- (add-error query clause " Please use an integer." )))))
147+ (defn- validate-max-offset
148+ [query]
149+ (let [offset (->int (:offset query) 0 )]
150+ (if (> offset 10000 )
151+ (add-error query :offset (str " The maximum offset is 10,000." ))
152+ query)))
165153
166154(defn- validate-max-limit
167155 [query max]
176164
177165(defn- validate-offset
178166 [query]
179- (validate-intsize query :offset ))
167+ (validate-integer query :offset ))
180168
181169(defn validate
182170 " Check the query for any errors."
189177 validate-where
190178 validate-order-by
191179 validate-limit
192- validate-offset)
180+ validate-offset
181+ validate-max-offset)
193182 query))
Original file line number Diff line number Diff line change 229229 current-page (or (get-in resource [:properties :page ]) 1 )
230230 href (:href resource)
231231 limit (get-in resource [:properties :query :limit ])
232+ limit-total (if (> total 10000 ) 10000 total)
232233 total-pages (if (zero? limit)
233234 1
234- (+ (quot total limit)
235- (if (zero? (rem total limit)) 0 1 )))
235+ (+ (quot limit- total limit)
236+ (if (zero? (rem limit- total limit)) 0 1 )))
236237 window (range (max 1 (- current-page window-size))
237238 (inc (min total-pages (+ current-page window-size))))
238239 in-window? (fn [page]
250251 :href (href-for-page resource 1 )})
251252 (concat [{:page " Next"
252253 :class (when (>= current-page total-pages) " disabled" )
253- :href (href-for-page resource (inc current-page))}
254- {:page " Last"
255- :class (when (in-window? total-pages) " disabled" )
256- :href (href-for-page resource total-pages)}])))
254+ :href (when (< current-page total-pages) (href-for-page resource (inc current-page)))}])))
257255 []))
258256
259257(defmulti slice-query (fn [format _ _] format))
You can’t perform that action at this time.
0 commit comments