diff --git a/docs/customservices.md b/docs/customservices.md index 0299091..56023ed 100644 --- a/docs/customservices.md +++ b/docs/customservices.md @@ -104,7 +104,7 @@ The Medusa API key can be found in General configuration > Interface. It is need ## Lidarr, Prowlarr, Sonarr, Readarr and Radarr This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Lidarr, Readarr, Radarr or Sonarr application. -Readarr and Sonarr display also a Missing (purple) notification bubbles. +Readarr, Radarr and Sonarr display also a Missing (purple) notification bubbles. Two lines are needed in the config.yml : ```yaml diff --git a/src/components/services/Radarr.vue b/src/components/services/Radarr.vue index 5c40aaa..2896006 100644 --- a/src/components/services/Radarr.vue +++ b/src/components/services/Radarr.vue @@ -5,6 +5,9 @@ {{ activity }} + + {{ missing }} + {{ warnings }} @@ -41,6 +44,7 @@ export default { data: () => { return { activity: null, + missing: null, warnings: null, errors: null, serverError: false, @@ -56,6 +60,10 @@ export default { }, methods: { fetchConfig: function () { + const handleError = (e) => { + console.error(e); + this.serverError = true; + }; this.fetch(`${this.apiPath}/health?apikey=${this.item.apikey}`) .then((health) => { this.warnings = 0; @@ -68,10 +76,7 @@ export default { } } }) - .catch((e) => { - console.error(e); - this.serverError = true; - }); + .catch(handleError); this.fetch(`${this.apiPath}/queue?apikey=${this.item.apikey}`) .then((queue) => { this.activity = 0; @@ -86,10 +91,16 @@ export default { this.activity = queue.totalRecords; } }) - .catch((e) => { - console.error(e); - this.serverError = true; - }); + .catch(handleError); + if (!this.item.legacyApi) { + this.fetch(`${this.apiPath}/movie?apikey=${this.item.apikey}`) + .then((movies) => { + this.missing = movies.filter( + (m) => m.monitored && !m.hasFile + ).length; + }) + .catch(handleError); + } }, }, }; @@ -113,6 +124,9 @@ export default { background-color: #4fb5d6; } + &.missing { + background-color: #9d00ff; + } &.warnings { background-color: #d08d2e; }