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