diff --git a/src/widgets/gitea/widget.js b/src/widgets/gitea/widget.js index b0420ccc6..003a6710d 100644 --- a/src/widgets/gitea/widget.js +++ b/src/widgets/gitea/widget.js @@ -11,10 +11,13 @@ const widget = { }, issues: { endpoint: "repos/issues/search", - map: (data) => ({ - pulls: asJson(data).filter((issue) => issue.pull_request), - issues: asJson(data).filter((issue) => !issue.pull_request), - }), + map: (data) => { + const items = asJson(data); + return { + pulls: items.filter((issue) => issue.pull_request), + issues: items.filter((issue) => !issue.pull_request), + }; + }, }, repositories: { endpoint: "repos/search", diff --git a/src/widgets/miniflux/widget.js b/src/widgets/miniflux/widget.js index dbf4bbf37..aebe2cf97 100644 --- a/src/widgets/miniflux/widget.js +++ b/src/widgets/miniflux/widget.js @@ -8,10 +8,13 @@ const widget = { mappings: { counters: { endpoint: "feeds/counters", - map: (data) => ({ - read: Object.values(asJson(data).reads).reduce((acc, i) => acc + i, 0), - unread: Object.values(asJson(data).unreads).reduce((acc, i) => acc + i, 0), - }), + map: (data) => { + const { reads, unreads } = asJson(data); + return { + read: Object.values(reads).reduce((acc, i) => acc + i, 0), + unread: Object.values(unreads).reduce((acc, i) => acc + i, 0), + }; + }, }, }, }; diff --git a/src/widgets/radarr/widget.js b/src/widgets/radarr/widget.js index 5170325d6..1f307430d 100644 --- a/src/widgets/radarr/widget.js +++ b/src/widgets/radarr/widget.js @@ -1,4 +1,4 @@ -import { asJson, jsonArrayFilter } from "utils/proxy/api-helpers"; +import { asJson } from "utils/proxy/api-helpers"; import genericProxyHandler from "utils/proxy/handlers/generic"; const widget = { @@ -8,15 +8,18 @@ const widget = { mappings: { movie: { endpoint: "movie", - map: (data) => ({ - wanted: jsonArrayFilter(data, (item) => item.monitored && !item.hasFile && item.isAvailable).length, - have: jsonArrayFilter(data, (item) => item.hasFile).length, - missing: jsonArrayFilter(data, (item) => item.monitored && !item.hasFile).length, - all: asJson(data).map((entry) => ({ - title: entry.title, - id: entry.id, - })), - }), + map: (data) => { + const movieData = asJson(data) ?? []; + return { + wanted: movieData.filter((item) => item.monitored && !item.hasFile && item.isAvailable).length, + have: movieData.filter((item) => item.hasFile).length, + missing: movieData.filter((item) => item.monitored && !item.hasFile).length, + all: movieData.map((entry) => ({ + title: entry.title, + id: entry.id, + })), + }; + }, }, "queue/status": { endpoint: "queue/status", diff --git a/src/widgets/unmanic/widget.js b/src/widgets/unmanic/widget.js index ef4493e9a..0544c0c68 100644 --- a/src/widgets/unmanic/widget.js +++ b/src/widgets/unmanic/widget.js @@ -8,10 +8,13 @@ const widget = { mappings: { workers: { endpoint: "workers/status", - map: (data) => ({ - total_workers: asJson(data).workers_status.length, - active_workers: asJson(data).workers_status.filter((worker) => !worker.idle).length, - }), + map: (data) => { + const workers = asJson(data).workers_status; + return { + total_workers: workers.length, + active_workers: workers.filter((worker) => !worker.idle).length, + }; + }, }, pending: { method: "POST",