mirror of
https://github.com/bastienwirtz/homer.git
synced 2024-11-07 08:44:00 +01:00
Merge pull request #365 from nthduy-deevotech/fix/sonarr-radarr-api
Support for Radarr, Sonarr V3 API
This commit is contained in:
commit
dec7e466b9
@ -79,6 +79,16 @@ Two lines are needed in the config.yml :
|
||||
|
||||
The url must be the root url of Lidarr, Prowlarr, Radarr or Sonarr application.
|
||||
The Lidarr, Prowlarr, Radarr or Sonarr API key can be found in Settings > General. It is needed to access the API.
|
||||
If you are using an older version of Radarr or Sonarr which don't support the new V3 api endpoints, add the following line to your service config "legacyApi: true", example:
|
||||
|
||||
```yaml
|
||||
- name: "Radarr"
|
||||
type: "Radarr"
|
||||
url: "http://localhost:7878/"
|
||||
apikey: "MY-SUPER-SECRET-API-KEY"
|
||||
target: "_blank"
|
||||
legacyApi: true
|
||||
```
|
||||
|
||||
## PaperlessNG
|
||||
|
||||
|
@ -26,6 +26,9 @@
|
||||
import service from "@/mixins/service.js";
|
||||
import Generic from "./Generic.vue";
|
||||
|
||||
const V3_API = "/api/v3";
|
||||
const LEGACY_API = "/api";
|
||||
|
||||
export default {
|
||||
name: "Radarr",
|
||||
mixins: [service],
|
||||
@ -46,9 +49,14 @@ export default {
|
||||
created: function () {
|
||||
this.fetchConfig();
|
||||
},
|
||||
computed: {
|
||||
apiPath() {
|
||||
return this.item.legacyApi ? LEGACY_API : V3_API;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
fetchConfig: function () {
|
||||
this.fetch(`/api/health?apikey=${this.item.apikey}`)
|
||||
this.fetch(`${this.apiPath}/health?apikey=${this.item.apikey}`)
|
||||
.then((health) => {
|
||||
this.warnings = 0;
|
||||
this.errors = 0;
|
||||
@ -64,12 +72,21 @@ export default {
|
||||
console.error(e);
|
||||
this.serverError = true;
|
||||
});
|
||||
this.fetch(`/api/queue?apikey=${this.item.apikey}`)
|
||||
this.fetch(`${this.apiPath}/queue?apikey=${this.item.apikey}`)
|
||||
.then((queue) => {
|
||||
this.activity = 0;
|
||||
for (var i = 0; i < queue.length; i++) {
|
||||
if (queue[i].movie) {
|
||||
this.activity++;
|
||||
|
||||
if (this.item.legacyApi) {
|
||||
for (var i = 0; i < queue.length; i++) {
|
||||
if (queue[i].movie) {
|
||||
this.activity++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (const record of queue.records) {
|
||||
if (record.movieId) {
|
||||
this.activity++;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -27,6 +27,9 @@
|
||||
import service from "@/mixins/service.js";
|
||||
import Generic from "./Generic.vue";
|
||||
|
||||
const V3_API = "/api/v3";
|
||||
const LEGACY_API = "/api";
|
||||
|
||||
export default {
|
||||
name: "Sonarr",
|
||||
mixins: [service],
|
||||
@ -36,6 +39,11 @@ export default {
|
||||
components: {
|
||||
Generic,
|
||||
},
|
||||
computed: {
|
||||
apiPath() {
|
||||
return this.item.legacyApi ? LEGACY_API : V3_API;
|
||||
},
|
||||
},
|
||||
data: () => {
|
||||
return {
|
||||
activity: null,
|
||||
@ -49,7 +57,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
fetchConfig: function () {
|
||||
this.fetch(`/api/health?apikey=${this.item.apikey}`)
|
||||
this.fetch(`${this.apiPath}/health?apikey=${this.item.apikey}`)
|
||||
.then((health) => {
|
||||
this.warnings = 0;
|
||||
this.errors = 0;
|
||||
@ -65,12 +73,20 @@ export default {
|
||||
console.error(e);
|
||||
this.serverError = true;
|
||||
});
|
||||
this.fetch(`/api/queue?apikey=${this.item.apikey}`)
|
||||
this.fetch(`${this.apiPath}/queue?apikey=${this.item.apikey}`)
|
||||
.then((queue) => {
|
||||
this.activity = 0;
|
||||
for (var i = 0; i < queue.length; i++) {
|
||||
if (queue[i].series) {
|
||||
this.activity++;
|
||||
if (this.item.legacyApi) {
|
||||
for (var i = 0; i < queue.length; i++) {
|
||||
if (queue[i].series) {
|
||||
this.activity++;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (const record of queue.records) {
|
||||
if (record.seriesId) {
|
||||
this.activity++;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user