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