Skip to content

Commit def7d1e

Browse files
committed
CORE-2040: fix query parameter coercion for the GET /users/logins endpoint
1 parent 400e225 commit def7d1e

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/apps/routes/schemas/user.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[apps.routes.params :refer [SecuredQueryParams]]
44
[common-swagger-api.schema.sessions :as sessions-schema]
55
[common-swagger-api.schema :refer [describe]]
6-
[schema.core :refer [defschema optional-key conditional]])
6+
[schema.core :refer [defschema optional-key]])
77
(:import [java.util UUID]))
88

99
(defschema User
@@ -25,4 +25,4 @@
2525
(defschema ListLoginsParams
2626
(merge SecuredQueryParams
2727
{(optional-key :limit)
28-
(describe (conditional pos? Long) "Limits the response to X number of results.")}))
28+
(describe Long "Limits the response to X number of results.")}))

src/apps/service/users.clj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
(:require
33
[apps.persistence.users :as up]
44
[apps.service.oauth :as oauth]
5-
[apps.util.conversions :refer [remove-nil-vals]]))
5+
[apps.util.conversions :refer [remove-nil-vals]]
6+
[clojure-commons.exception-util :refer [bad-request]]))
67

78
(defn by-id
89
[{:keys [ids]}]
@@ -19,4 +20,6 @@
1920

2021
(defn list-logins
2122
[{:keys [username] :as _current-user} {:keys [limit] :or {limit 5}}]
23+
(when-not (pos? limit)
24+
(bad-request "the value of the 'limit' query parameter must be positive"))
2225
{:logins (mapv remove-nil-vals (up/list-logins username limit))})

0 commit comments

Comments
 (0)