Fix: cache all release groups, filter by monitoring only at query time
This commit is contained in:
@@ -54,11 +54,11 @@ public class FeedService {
|
||||
}
|
||||
|
||||
private List<String> artistMbidsWithRefresh(List<TrackedArtist> artists) {
|
||||
var allTypes = List.of("Album", "Single", "EP", "Broadcast", "Other");
|
||||
var mbids = new ArrayList<String>();
|
||||
for (var a : artists) {
|
||||
if (cacheService.needsRefresh(a.mbid())) {
|
||||
var types = getMonitoredTypes(a);
|
||||
releaseGroupService.fetchAndCache(a.mbid(), a.name(), types);
|
||||
releaseGroupService.fetchAndCache(a.mbid(), a.name(), allTypes);
|
||||
}
|
||||
mbids.add(a.mbid());
|
||||
}
|
||||
|
||||
@@ -45,8 +45,6 @@ public class ReleaseGroupService {
|
||||
for (var rg : page.releaseGroups()) {
|
||||
String primaryType = rg.primaryType() != null ? rg.primaryType() : "Other";
|
||||
|
||||
if (!monitoredTypes.contains(primaryType)) continue;
|
||||
|
||||
String secondaryTypes = "[]";
|
||||
if (rg.secondaryTypes() != null && !rg.secondaryTypes().isEmpty()) {
|
||||
try {
|
||||
|
||||
@@ -59,8 +59,7 @@ public class ArtistController {
|
||||
@Produces(MediaType.TEXT_HTML)
|
||||
public Response trackArtist(@PathParam("mbid") String mbid) {
|
||||
var artist = artistService.addArtist(mbid);
|
||||
var types = getMonitoredTypes(artist);
|
||||
releaseGroupService.fetchAndCache(artist.mbid(), artist.name(), types);
|
||||
releaseGroupService.fetchAndCache(artist.mbid(), artist.name(), List.of("Album", "Single", "EP", "Broadcast", "Other"));
|
||||
var allArtists = artistService.findAll();
|
||||
var listHtml = artistListTemplate.data("artists", allArtists).render();
|
||||
return Response.ok(listHtml + feedReloadScript()).build();
|
||||
|
||||
Reference in New Issue
Block a user