Skip to content

Commit 5e0a533

Browse files
authored
Merge pull request #2630 from metabrainz/oldest-timestamp-api
API: Add oldest listen timestamp to /user/<username>/listens API response
2 parents e1e7785 + b3dffaf commit 5e0a533

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

listenbrainz/tests/integration/test_api.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,9 @@ def test_get_listens(self):
8888
# make sure that artist msid, release msid and recording msid are present in data
8989
self.assertTrue(is_valid_uuid(data['listens'][0]['recording_msid']))
9090

91-
# check for latest listen timestamp
91+
# check for latest and oldest listen timestamp
9292
self.assertEqual(data['latest_listen_ts'], ts)
93+
self.assertEqual(data['oldest_listen_ts'], ts)
9394

9495
# request with min_ts should work
9596
response = self.client.get(
@@ -102,6 +103,7 @@ def test_get_listens(self):
102103
self.assert200(response)
103104
self.assertListEqual(response.json['payload']['listens'], [])
104105
self.assertEqual(response.json['payload']['latest_listen_ts'], ts)
106+
self.assertEqual(response.json['payload']['oldest_listen_ts'], ts)
105107

106108
# test request with both max_ts and min_ts is working
107109
url = url_for('api_v1.get_listens',

listenbrainz/webserver/views/api.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def get_listens(user_name):
161161
if min_ts and max_ts and min_ts >= max_ts:
162162
raise APIBadRequest("min_ts should be less than max_ts")
163163

164-
listens, _, max_ts_per_user = timescale_connection._ts.fetch_listens(
164+
listens, min_ts_per_user, max_ts_per_user = timescale_connection._ts.fetch_listens(
165165
user,
166166
limit=count,
167167
from_ts=datetime.utcfromtimestamp(min_ts) if min_ts else None,
@@ -176,6 +176,7 @@ def get_listens(user_name):
176176
'count': len(listen_data),
177177
'listens': listen_data,
178178
'latest_listen_ts': int(max_ts_per_user.timestamp()),
179+
'oldest_listen_ts': int(min_ts_per_user.timestamp()),
179180
}})
180181

181182

0 commit comments

Comments
 (0)