CREATE OR REPLACE VIEW recent_tracks AS
SELECT
  ol.id,
  ol.listened_at,
  ol.track_name,
  ol.artist_name,
  ol.album_name,
  ol.album_key,
  ol.artist_art,
  ol.artist_genres,
  ol.genre_name,
  ol.artist_country,
  ol.album_art,
  ol.artist_url,
  ol.genre_url,
  json_build_object('title', ol.track_name, 'subtext', ol.artist_name, 'alt', CONCAT(ol.track_name, ' by ', ol.artist_name), 'url', ol.artist_url, 'image', ol.album_art, 'played_at', ol.listened_at) AS chart
FROM
  optimized_listens ol
WHERE
  TO_TIMESTAMP(ol.listened_at) >= NOW() - INTERVAL '7 days'
ORDER BY
  TO_TIMESTAMP(ol.listened_at) DESC;

