Rudimentary pagination of rooms in the rooms filter

This commit is contained in:
Neil Alexander 2021-04-28 14:29:17 +01:00
parent ce112cf21b
commit 10c41a7a18
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
8 changed files with 185 additions and 13 deletions

View file

@ -69,6 +69,18 @@ func newSyncRequest(req *http.Request, device userapi.Device, syncDB storage.Dat
}
}
switch req.URL.Query().Get("paginate_by") {
case "latest":
offset, _ := strconv.Atoi(req.URL.Query().Get("offset"))
count, _ := strconv.Atoi(req.URL.Query().Get("count"))
rooms, err := syncDB.GetPaginatedRooms(req.Context(), device.UserID, offset, count)
if err != nil {
return nil, fmt.Errorf("syncDB.GetPaginatedRooms: %w", err)
}
filter.Room.Rooms = rooms
logrus.Warnf("Filtering by rooms: %v", rooms)
}
logger := util.GetLogger(req.Context()).WithFields(logrus.Fields{
"user_id": device.UserID,
"device_id": device.ID,