Skip to content

Commit 925c688

Browse files
committed
🐛 Radarr-API: Fix compatibility with Node-RED 4.x.x
1 parent 2048652 commit 925c688

File tree

5 files changed

+28
-17
lines changed

5 files changed

+28
-17
lines changed

node-red-radarr-api/nodes/radarr-api-command.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = function (RED) {
22
'use strict';
3+
const { promisify } = require('util');
34

45
function RadarrApiCommandGetNode(config) {
56
RED.nodes.createNode(this, config);
@@ -17,7 +18,7 @@ module.exports = function (RED) {
1718
} else {
1819
this.server = RED.nodes.getNode(config.server);
1920

20-
node.on('input', function (msg) {
21+
node.on('input', async function (msg) {
2122
node.status({ fill: 'blue', shape: 'dot', text: 'obtaining command/s' });
2223
let server = this.server;
2324
let nodeType = 'radarr-api-command-get';
@@ -27,7 +28,8 @@ module.exports = function (RED) {
2728
let message = 'Unknown Status.';
2829

2930
try {
30-
let command_id = RED.util.evaluateNodeProperty(config.command_id, config.command_id_type || 'num', node, msg);
31+
const evaluateNodeProperty = promisify(RED.util.evaluateNodeProperty);
32+
let command_id = await evaluateNodeProperty(config.command_id, config.command_id_type || 'num', node, msg);
3133
let uri = `command/${command_id ? command_id : ''}`;
3234

3335
this.server
@@ -100,7 +102,7 @@ module.exports = function (RED) {
100102
} else {
101103
this.server = RED.nodes.getNode(config.server);
102104

103-
node.on('input', function (msg) {
105+
node.on('input', async function (msg) {
104106
node.status({ fill: 'blue', shape: 'dot', text: 'sending command' });
105107
let server = this.server;
106108
let nodeType = 'radarr-api-command-post';
@@ -110,8 +112,9 @@ module.exports = function (RED) {
110112
let message = 'Unknown Status.';
111113

112114
try {
113-
let movie_ids_optional = RED.util.evaluateNodeProperty(config.movie_ids_optional, config.movie_ids_optional_type || 'num', node, msg);
114-
let movie_ids = RED.util.evaluateNodeProperty(config.movie_ids, config.movie_ids_type || 'num', node, msg);
115+
const evaluateNodeProperty = promisify(RED.util.evaluateNodeProperty);
116+
let movie_ids_optional = await evaluateNodeProperty(config.movie_ids_optional, config.movie_ids_optional_type || 'num', node, msg);
117+
let movie_ids = await evaluateNodeProperty(config.movie_ids, config.movie_ids_type || 'num', node, msg);
115118
let uri = 'command';
116119
let data = { name: config.command_name };
117120
if (movie_ids_optional) {

node-red-radarr-api/nodes/radarr-api-history.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = function (RED) {
22
'use strict';
3+
const { promisify } = require('util');
34

45
function RadarrApiHistoryGetNode(config) {
56
RED.nodes.createNode(this, config);
@@ -17,7 +18,7 @@ module.exports = function (RED) {
1718
} else {
1819
this.server = RED.nodes.getNode(config.server);
1920

20-
node.on('input', function (msg) {
21+
node.on('input', async function (msg) {
2122
node.status({ fill: 'blue', shape: 'dot', text: 'obtaining histories' });
2223
let server = this.server;
2324
let nodeType = 'radarr-api-history-get';
@@ -27,10 +28,11 @@ module.exports = function (RED) {
2728
let message = 'Unknown Status.';
2829

2930
try {
30-
let include_movie = RED.util.evaluateNodeProperty(config.include_movie, 'bool', node, msg);
31-
let movie_id = RED.util.evaluateNodeProperty(config.movie_id, config.movie_id_type || 'num', node, msg);
32-
let page = RED.util.evaluateNodeProperty(config.page, config.page_type || 'num', node, msg);
33-
let page_size = RED.util.evaluateNodeProperty(config.page_size, config.page_size_type || 'num', node, msg);
31+
const evaluateNodeProperty = promisify(RED.util.evaluateNodeProperty);
32+
let include_movie = await evaluateNodeProperty(config.include_movie, 'bool', node, msg);
33+
let movie_id = await evaluateNodeProperty(config.movie_id, config.movie_id_type || 'num', node, msg);
34+
let page = await evaluateNodeProperty(config.page, config.page_type || 'num', node, msg);
35+
let page_size = await evaluateNodeProperty(config.page_size, config.page_size_type || 'num', node, msg);
3436
let uri = `history/${movie_id ? 'movie' : ''}`;
3537
let opts = {
3638
includeMovie: include_movie,

node-red-radarr-api/nodes/radarr-api-movie.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = function (RED) {
22
'use strict';
3+
const { promisify } = require('util');
34

45
function RadarrApiMovieGetNode(config) {
56
RED.nodes.createNode(this, config);
@@ -17,7 +18,7 @@ module.exports = function (RED) {
1718
} else {
1819
this.server = RED.nodes.getNode(config.server);
1920

20-
node.on('input', function (msg) {
21+
node.on('input', async function (msg) {
2122
node.status({ fill: 'blue', shape: 'dot', text: 'obtaining movie/s' });
2223
let server = this.server;
2324
let nodeType = 'radarr-api-movie-get';
@@ -27,7 +28,8 @@ module.exports = function (RED) {
2728
let message = 'Unknown Status.';
2829

2930
try {
30-
let movie_id = RED.util.evaluateNodeProperty(config.movie_id, config.movie_id_type || 'num', node, msg);
31+
const evaluateNodeProperty = promisify(RED.util.evaluateNodeProperty);
32+
let movie_id = await evaluateNodeProperty(config.movie_id, config.movie_id_type || 'num', node, msg);
3133
let uri = `movie/${movie_id ? movie_id : ''}`;
3234

3335
server

node-red-radarr-api/nodes/radarr-api-movieeditor.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = function (RED) {
22
'use strict';
3+
const { promisify } = require('util');
34

45
function RadarrApiMovieEditorPutNode(config) {
56
RED.nodes.createNode(this, config);
@@ -17,7 +18,7 @@ module.exports = function (RED) {
1718
} else {
1819
this.server = RED.nodes.getNode(config.server);
1920

20-
node.on('input', function (msg) {
21+
node.on('input', async function (msg) {
2122
node.status({ fill: 'blue', shape: 'dot', text: 'editing movie/s' });
2223
let server = this.server;
2324
let nodeType = 'radarr-api-movieeditor-put';
@@ -27,7 +28,8 @@ module.exports = function (RED) {
2728
let message = 'Unknown Status.';
2829

2930
try {
30-
let movie_ids = RED.util.evaluateNodeProperty(config.movie_ids, config.movie_ids_type || 'num', node, msg);
31+
const evaluateNodeProperty = promisify(RED.util.evaluateNodeProperty);
32+
let movie_ids = await evaluateNodeProperty(config.movie_ids, config.movie_ids_type || 'num', node, msg);
3133
if (!movie_ids) {
3234
level = 'Error';
3335
message = 'Movie Id/s parameter is required';
@@ -56,7 +58,7 @@ module.exports = function (RED) {
5658
}
5759
if (config.root_folder) {
5860
data.rootFolderPath = config.root_folder;
59-
let move_files = RED.util.evaluateNodeProperty(config.move_files, 'bool', node, msg);
61+
let move_files = await evaluateNodeProperty(config.move_files, 'bool', node, msg);
6062
data.moveFiles = move_files;
6163
}
6264
if (config.minimum_availability) {

node-red-radarr-api/nodes/radarr-api-moviefile.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
module.exports = function (RED) {
22
'use strict';
3+
const { promisify } = require('util');
34

45
function RadarrApiMovieFileGetNode(config) {
56
RED.nodes.createNode(this, config);
@@ -20,7 +21,7 @@ module.exports = function (RED) {
2021
} else {
2122
this.server = RED.nodes.getNode(config.server);
2223

23-
node.on('input', function (msg) {
24+
node.on('input', async function (msg) {
2425
node.status({ fill: 'blue', shape: 'dot', text: 'obtaining movie file/s' });
2526
let server = this.server;
2627
let nodeType = 'radarr-api-moviefile-get';
@@ -30,7 +31,8 @@ module.exports = function (RED) {
3031
let message = 'Unknown Status.';
3132

3233
try {
33-
let movie_id = RED.util.evaluateNodeProperty(config.movie_id, config.movie_id_type || 'num', node, msg);
34+
const evaluateNodeProperty = promisify(RED.util.evaluateNodeProperty);
35+
let movie_id = await evaluateNodeProperty(config.movie_id, config.movie_id_type || 'num', node, msg);
3436
let uri = `moviefile`;
3537
let opts = { movieId: movie_id };
3638

0 commit comments

Comments
 (0)