diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-11-14 23:38:18 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-11-14 23:38:18 +0900 |
| commit | 47e9e888164b6eafd341bba7459fe41cfa91b525 (patch) | |
| tree | 030fff534e361a3ad0c24069caa303d956713970 /src/api/endpoints/users | |
| parent | v3104 (diff) | |
| download | sharkey-47e9e888164b6eafd341bba7459fe41cfa91b525.tar.gz sharkey-47e9e888164b6eafd341bba7459fe41cfa91b525.tar.bz2 sharkey-47e9e888164b6eafd341bba7459fe41cfa91b525.zip | |
:v:
Diffstat (limited to 'src/api/endpoints/users')
| -rw-r--r-- | src/api/endpoints/users/get_frequently_replied_users.ts | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/api/endpoints/users/get_frequently_replied_users.ts b/src/api/endpoints/users/get_frequently_replied_users.ts index bb0f3b4cea..a8add623d4 100644 --- a/src/api/endpoints/users/get_frequently_replied_users.ts +++ b/src/api/endpoints/users/get_frequently_replied_users.ts @@ -11,6 +11,10 @@ module.exports = (params, me) => new Promise(async (res, rej) => { const [userId, userIdErr] = $(params.user_id).id().$; if (userIdErr) return rej('invalid user_id param'); + // Get 'limit' parameter + const [limit = 10, limitErr] = $(params.limit).optional.number().range(1, 100).$; + if (limitErr) return rej('invalid limit param'); + // Lookup user const user = await User.findOne({ _id: userId @@ -82,8 +86,8 @@ module.exports = (params, me) => new Promise(async (res, rej) => { // Sort replies by frequency const repliedUsersSorted = Object.keys(repliedUsers).sort((a, b) => repliedUsers[b] - repliedUsers[a]); - // Lookup top 10 replies - const topRepliedUsers = repliedUsersSorted.slice(0, 10); + // Extract top replied users + const topRepliedUsers = repliedUsersSorted.slice(0, limit); // Make replies object (includes weights) const repliesObj = await Promise.all(topRepliedUsers.map(async (user) => ({ |