From b1c423e4374a58b046f085b94568a258fbbc7b16 Mon Sep 17 00:00:00 2001 From: Umputun Date: Tue, 26 Dec 2017 17:27:48 -0600 Subject: [PATCH] limit comments per user --- app/store/bolt.go | 8 ++++++++ remark.rest | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/store/bolt.go b/app/store/bolt.go index 66079c8a..99e2117c 100644 --- a/app/store/bolt.go +++ b/app/store/bolt.go @@ -24,6 +24,7 @@ const ( userBucketName = "users" blocksBucketPrefix = "block-" lastLimit = 1000 + userLimit = 100 ) // NewBoltDB makes persistent boltdb-based store @@ -440,6 +441,13 @@ func (b *BoltDB) GetForUser(locator Locator, userID string) (comments []Comment, comments = append(comments, c) } } + + // limit comment to recent up to userLimit. TODO: optimize to fetch in sorted order + sort.Slice(comments, func(i int, j int) bool { return comments[i].Timestamp.After(comments[j].Timestamp) }) + if len(comments) > userLimit { + comments = comments[:userLimit] + } + return comments, err } diff --git a/remark.rest b/remark.rest index ea148379..0dc07699 100644 --- a/remark.rest +++ b/remark.rest @@ -37,7 +37,7 @@ GET https://demo.remark42.com/api/v1/user GET https://demo.remark42.com/api/v1/id/3665976683?url=https://radio-t.com/p/2017/12/16/podcast-576/ ### get comment by user id -GET https://demo.remark42.com/api/v1/comments?user=grigorybakunov +GET https://demo.remark42.com/api/v1/comments?user=umputun ### get counts GET https://demo.remark42.com/api/v1/count?url=https://radio-t.com/p/2017/12/16/podcast-576/ \ No newline at end of file