use aggregate mapped data

to reduce the size of the API responses
This commit is contained in:
Ben Phelps 2022-09-17 13:05:44 +03:00
parent 9a77115a30
commit 28b2f79e5b
5 changed files with 57 additions and 17 deletions

View file

@ -29,13 +29,11 @@ export default function Lidarr({ service }) {
);
}
const have = albumsData.filter((album) => album.statistics.percentOfTracks === 100);
return (
<Widget>
<Block label={t("lidarr.wanted")} value={t("common.number", { value: wantedData.totalRecords })} />
<Block label={t("lidarr.queued")} value={t("common.number", { value: queueData.totalCount })} />
<Block label={t("lidarr.albums")} value={t("common.number", { value: have.length })} />
<Block label={t("lidarr.albums")} value={t("common.number", { value: albumsData.have })} />
</Widget>
);
}

View file

@ -28,14 +28,11 @@ export default function Radarr({ service }) {
);
}
const wanted = moviesData.filter((movie) => movie.isAvailable === false);
const have = moviesData.filter((movie) => movie.isAvailable === true);
return (
<Widget>
<Block label={t("radarr.wanted")} value={wanted.length} />
<Block label={t("radarr.wanted")} value={moviesData.wanted} />
<Block label={t("radarr.queued")} value={queuedData.totalCount} />
<Block label={t("radarr.movies")} value={have.length} />
<Block label={t("radarr.movies")} value={moviesData.have} />
</Widget>
);
}

View file

@ -29,13 +29,11 @@ export default function Readarr({ service }) {
);
}
const have = booksData.filter((book) => book.statistics.bookFileCount > 0);
return (
<Widget>
<Block label={t("readarr.wanted")} value={t("common.number", { value: wantedData.totalRecords })} />
<Block label={t("readarr.queued")} value={t("common.number", { value: queueData.totalCount })} />
<Block label={t("readarr.books")} value={t("common.number", { value: have.length })} />
<Block label={t("readarr.books")} value={t("common.number", { value: booksData.have })} />
</Widget>
);
}

View file

@ -33,7 +33,7 @@ export default function Sonarr({ service }) {
<Widget>
<Block label={t("sonarr.wanted")} value={wantedData.totalRecords} />
<Block label={t("sonarr.queued")} value={queuedData.totalRecords} />
<Block label={t("sonarr.series")} value={seriesData.length} />
<Block label={t("sonarr.series")} value={seriesData.total} />
</Widget>
);
}