aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--docs/customservices.md8
-rw-r--r--src/components/services/Prowlarr.vue94
-rw-r--r--yarn.lock14
4 files changed, 106 insertions, 12 deletions
diff --git a/README.md b/README.md
index 2dd2b42..5ea80fb 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,7 @@
56- Search 56- Search
57- Grouping 57- Grouping
58- Theme customization 58- Theme customization
59- Offline heath check 59- Offline health check
60- keyboard shortcuts: 60- keyboard shortcuts:
61 - `/` Start searching. 61 - `/` Start searching.
62 - `Escape` Stop searching. 62 - `Escape` Stop searching.
diff --git a/docs/customservices.md b/docs/customservices.md
index 9317907..7e3e6b3 100644
--- a/docs/customservices.md
+++ b/docs/customservices.md
@@ -67,18 +67,18 @@ Two lines are needed in the config.yml :
67The url must be the root url of Medusa application. 67The url must be the root url of Medusa application.
68The Medusa API key can be found in General configuration > Interface. It is needed to access Medusa API. 68The Medusa API key can be found in General configuration > Interface. It is needed to access Medusa API.
69 69
70## Lidarr, Sonarr and Radarr 70## Lidarr, Prowlarr, Sonarr and Radarr
71 71
72This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Lidarr, Radarr or Sonarr application. 72This service displays Activity (blue), Warning (orange) or Error (red) notifications bubbles from the Lidarr, Radarr or Sonarr application.
73Two lines are needed in the config.yml : 73Two lines are needed in the config.yml :
74 74
75```yaml 75```yaml
76 type: "Lidarr", "Radarr" or "Sonarr" 76 type: "Lidarr", "Prowlarr", "Radarr" or "Sonarr"
77 apikey: "01234deb70424befb1f4ef6a23456789" 77 apikey: "01234deb70424befb1f4ef6a23456789"
78``` 78```
79 79
80The url must be the root url of Lidarr, Radarr or Sonarr application. 80The url must be the root url of Lidarr, Prowlarr, Radarr or Sonarr application.
81The Lidarr, Radarr or Sonarr API key can be found in Settings > General. It is needed to access the API. 81The Lidarr, Prowlarr, Radarr or Sonarr API key can be found in Settings > General. It is needed to access the API.
82If 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: 82If 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:
83 83
84```yaml 84```yaml
diff --git a/src/components/services/Prowlarr.vue b/src/components/services/Prowlarr.vue
new file mode 100644
index 0000000..c122ca0
--- /dev/null
+++ b/src/components/services/Prowlarr.vue
@@ -0,0 +1,94 @@
1<template>
2 <Generic :item="item">
3 <template #indicator>
4 <div class="notifs">
5 <strong v-if="warnings > 0" class="notif warnings" title="Warning">
6 {{ warnings }}
7 </strong>
8 <strong v-if="errors > 0" class="notif errors" title="Error">
9 {{ errors }}
10 </strong>
11 <strong
12 v-if="serverError"
13 class="notif errors"
14 title="Connection error to Prowlarr API, check url and apikey in config.yml"
15 >
16 ?
17 </strong>
18 </div>
19 </template>
20 </Generic>
21</template>
22
23<script>
24import service from "@/mixins/service.js"
25import Generic from "./Generic.vue"
26
27export default {
28 name: "Prowlarr",
29 mixins: [service],
30 props: {
31 item: Object,
32 },
33 components: {
34 Generic,
35 },
36 data: () => {
37 return {
38 warnings: null,
39 errors: null,
40 serverError: false,
41 }
42 },
43 created: function () {
44 this.fetchConfig()
45 },
46 methods: {
47 fetchConfig: function () {
48 this.fetch(`/api/v1/health?apikey=${this.item.apikey}`)
49 .then((health) => {
50 this.warnings = 0
51 this.errors = 0
52 for (var i = 0; i < health.length; i++) {
53 if (health[i].type == "warning") {
54 this.warnings++
55 } else if (health[i].type == "error") {
56 this.errors++
57 }
58 }
59 })
60 .catch((e) => {
61 console.error(e)
62 this.serverError = true
63 })
64 },
65 },
66}
67</script>
68
69<style scoped lang="scss">
70.notifs {
71 position: absolute;
72 color: white;
73 font-family: sans-serif;
74 top: 0.3em;
75 right: 0.5em;
76
77 .notif {
78 display: inline-block;
79 padding: 0.2em 0.35em;
80 border-radius: 0.25em;
81 position: relative;
82 margin-left: 0.3em;
83 font-size: 0.8em;
84
85 &.warnings {
86 background-color: #d08d2e;
87 }
88
89 &.errors {
90 background-color: #e51111;
91 }
92 }
93}
94</style>
diff --git a/yarn.lock b/yarn.lock
index ca36eb7..f3a16d9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2773,10 +2773,10 @@ core-js@^2.4.0:
2773 resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" 2773 resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
2774 integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== 2774 integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
2775 2775
2776core-js@^3.17.3: 2776core-js@^3.19.3:
2777 version "3.17.3" 2777 version "3.20.2"
2778 resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.17.3.tgz#8e8bd20e91df9951e903cabe91f9af4a0895bc1e" 2778 resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.2.tgz#46468d8601eafc8b266bd2dd6bf9dee622779581"
2779 integrity sha512-lyvajs+wd8N1hXfzob1LdOCCHFU4bGMbqqmLn1Q4QlCpDqWPpGf+p0nj+LNrvDDG33j0hZXw2nsvvVpHysxyNw== 2779 integrity sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw==
2780 2780
2781core-js@^3.6.5: 2781core-js@^3.6.5:
2782 version "3.15.2" 2782 version "3.15.2"
@@ -3999,9 +3999,9 @@ flush-write-stream@^1.0.0:
3999 readable-stream "^2.3.6" 3999 readable-stream "^2.3.6"
4000 4000
4001follow-redirects@^1.0.0: 4001follow-redirects@^1.0.0:
4002 version "1.14.1" 4002 version "1.14.7"
4003 resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" 4003 resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
4004 integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== 4004 integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
4005 4005
4006for-in@^1.0.2: 4006for-in@^1.0.2:
4007 version "1.0.2" 4007 version "1.0.2"