aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/components/services
diff options
context:
space:
mode:
authorBastien Wirtz <bastien.wirtz@gmail.com>2022-02-10 21:52:05 +0100
committerGitHub <noreply@github.com>2022-02-10 21:52:05 +0100
commitdec7e466b981ba48390e4771ba0f4e54a311c181 (patch)
tree7042a537c3ec4d388722e77fcba722b155ca4315 /src/components/services
parentd92444ec19f15351f62d6008dc6d4bee6838aa2a (diff)
parent096c7eda48ec14c7a58c8fe0d8a2502511d206d2 (diff)
downloadhomer-dec7e466b981ba48390e4771ba0f4e54a311c181.tar.gz
homer-dec7e466b981ba48390e4771ba0f4e54a311c181.tar.zst
homer-dec7e466b981ba48390e4771ba0f4e54a311c181.zip
Merge pull request #365 from nthduy-deevotech/fix/sonarr-radarr-api
Support for Radarr, Sonarr V3 API
Diffstat (limited to 'src/components/services')
-rw-r--r--src/components/services/Radarr.vue27
-rw-r--r--src/components/services/Sonarr.vue26
2 files changed, 43 insertions, 10 deletions
diff --git a/src/components/services/Radarr.vue b/src/components/services/Radarr.vue
index a57c895..7573667 100644
--- a/src/components/services/Radarr.vue
+++ b/src/components/services/Radarr.vue
@@ -26,6 +26,9 @@
26import service from "@/mixins/service.js"; 26import service from "@/mixins/service.js";
27import Generic from "./Generic.vue"; 27import Generic from "./Generic.vue";
28 28
29const V3_API = "/api/v3";
30const LEGACY_API = "/api";
31
29export default { 32export default {
30 name: "Radarr", 33 name: "Radarr",
31 mixins: [service], 34 mixins: [service],
@@ -46,9 +49,14 @@ export default {
46 created: function () { 49 created: function () {
47 this.fetchConfig(); 50 this.fetchConfig();
48 }, 51 },
52 computed: {
53 apiPath() {
54 return this.item.legacyApi ? LEGACY_API : V3_API;
55 },
56 },
49 methods: { 57 methods: {
50 fetchConfig: function () { 58 fetchConfig: function () {
51 this.fetch(`/api/health?apikey=${this.item.apikey}`) 59 this.fetch(`${this.apiPath}/health?apikey=${this.item.apikey}`)
52 .then((health) => { 60 .then((health) => {
53 this.warnings = 0; 61 this.warnings = 0;
54 this.errors = 0; 62 this.errors = 0;
@@ -64,12 +72,21 @@ export default {
64 console.error(e); 72 console.error(e);
65 this.serverError = true; 73 this.serverError = true;
66 }); 74 });
67 this.fetch(`/api/queue?apikey=${this.item.apikey}`) 75 this.fetch(`${this.apiPath}/queue?apikey=${this.item.apikey}`)
68 .then((queue) => { 76 .then((queue) => {
69 this.activity = 0; 77 this.activity = 0;
70 for (var i = 0; i < queue.length; i++) { 78
71 if (queue[i].movie) { 79 if (this.item.legacyApi) {
72 this.activity++; 80 for (var i = 0; i < queue.length; i++) {
81 if (queue[i].movie) {
82 this.activity++;
83 }
84 }
85 } else {
86 for (const record of queue.records) {
87 if (record.movieId) {
88 this.activity++;
89 }
73 } 90 }
74 } 91 }
75 }) 92 })
diff --git a/src/components/services/Sonarr.vue b/src/components/services/Sonarr.vue
index f8dd0d1..55df437 100644
--- a/src/components/services/Sonarr.vue
+++ b/src/components/services/Sonarr.vue
@@ -27,6 +27,9 @@
27import service from "@/mixins/service.js"; 27import service from "@/mixins/service.js";
28import Generic from "./Generic.vue"; 28import Generic from "./Generic.vue";
29 29
30const V3_API = "/api/v3";
31const LEGACY_API = "/api";
32
30export default { 33export default {
31 name: "Sonarr", 34 name: "Sonarr",
32 mixins: [service], 35 mixins: [service],
@@ -36,6 +39,11 @@ export default {
36 components: { 39 components: {
37 Generic, 40 Generic,
38 }, 41 },
42 computed: {
43 apiPath() {
44 return this.item.legacyApi ? LEGACY_API : V3_API;
45 },
46 },
39 data: () => { 47 data: () => {
40 return { 48 return {
41 activity: null, 49 activity: null,
@@ -49,7 +57,7 @@ export default {
49 }, 57 },
50 methods: { 58 methods: {
51 fetchConfig: function () { 59 fetchConfig: function () {
52 this.fetch(`/api/health?apikey=${this.item.apikey}`) 60 this.fetch(`${this.apiPath}/health?apikey=${this.item.apikey}`)
53 .then((health) => { 61 .then((health) => {
54 this.warnings = 0; 62 this.warnings = 0;
55 this.errors = 0; 63 this.errors = 0;
@@ -65,12 +73,20 @@ export default {
65 console.error(e); 73 console.error(e);
66 this.serverError = true; 74 this.serverError = true;
67 }); 75 });
68 this.fetch(`/api/queue?apikey=${this.item.apikey}`) 76 this.fetch(`${this.apiPath}/queue?apikey=${this.item.apikey}`)
69 .then((queue) => { 77 .then((queue) => {
70 this.activity = 0; 78 this.activity = 0;
71 for (var i = 0; i < queue.length; i++) { 79 if (this.item.legacyApi) {
72 if (queue[i].series) { 80 for (var i = 0; i < queue.length; i++) {
73 this.activity++; 81 if (queue[i].series) {
82 this.activity++;
83 }
84 }
85 } else {
86 for (const record of queue.records) {
87 if (record.seriesId) {
88 this.activity++;
89 }
74 } 90 }
75 } 91 }
76 }) 92 })