From 4459317a26f8f8fa6bd8949758f865f6bb5b497b Mon Sep 17 00:00:00 2001 From: CKY- Date: Wed, 20 Nov 2024 15:49:41 -0700 Subject: [PATCH 1/2] feat: built in variable api --- .../v1/controllers/variableApiController.js | 23 +++++++++++++++++++ src/server/api/v1/v1Router.js | 5 ++++ 2 files changed, 28 insertions(+) create mode 100644 src/server/api/v1/controllers/variableApiController.js diff --git a/src/server/api/v1/controllers/variableApiController.js b/src/server/api/v1/controllers/variableApiController.js new file mode 100644 index 000000000..051249c30 --- /dev/null +++ b/src/server/api/v1/controllers/variableApiController.js @@ -0,0 +1,23 @@ +"use strict"; + +const variableManager = require("../../../../backend//variables/replace-variable-manager"); + +exports.getReplaceVariables = function(req, res) { + const variables = variableManager.getReplaceVariables(); + + if (Array.isArray(variables)) { + variables.sort((a, b) => { + const handleA = a.definition.handle.toLowerCase(); + const handleB = b.definition.handle.toLowerCase(); + if (handleA < handleB) { + return -1; + } + if (handleA > handleB) { + return 1; + } + return 0; + }); + } + + res.json(variables); +}; \ No newline at end of file diff --git a/src/server/api/v1/v1Router.js b/src/server/api/v1/v1Router.js index 2cb8b8236..465162430 100644 --- a/src/server/api/v1/v1Router.js +++ b/src/server/api/v1/v1Router.js @@ -72,6 +72,11 @@ router .get(customVariables.getCustomVariable) .post(customVariables.setCustomVariable); +// builtin variables +const variableManager = require("./controllers/variableApiController"); + +router.route("/variables").get(variableManager.getReplaceVariables); + // viewers const viewers = require("./controllers/viewersApiController"); From 9e10274ee05c3aee3ae0ae03d926a8e8378f4e64 Mon Sep 17 00:00:00 2001 From: CKY- Date: Wed, 27 Nov 2024 22:36:42 -0700 Subject: [PATCH 2/2] requested changes --- .../v1/controllers/variableApiController.js | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/server/api/v1/controllers/variableApiController.js b/src/server/api/v1/controllers/variableApiController.js index 051249c30..102e4926b 100644 --- a/src/server/api/v1/controllers/variableApiController.js +++ b/src/server/api/v1/controllers/variableApiController.js @@ -1,23 +1,10 @@ "use strict"; -const variableManager = require("../../../../backend//variables/replace-variable-manager"); +const manager = require("../../../../backend//variables/replace-variable-manager"); exports.getReplaceVariables = function(req, res) { - const variables = variableManager.getReplaceVariables(); + const sortedVariables = [...manager.getReplaceVariables()] + .sort((a, b) => a.definition.handle.localeCompare(b.definition.handle)); - if (Array.isArray(variables)) { - variables.sort((a, b) => { - const handleA = a.definition.handle.toLowerCase(); - const handleB = b.definition.handle.toLowerCase(); - if (handleA < handleB) { - return -1; - } - if (handleA > handleB) { - return 1; - } - return 0; - }); - } - - res.json(variables); + res.json(sortedVariables); }; \ No newline at end of file