From a02a2027760cd79ff5f5c2777244b2c5b4f66b6f Mon Sep 17 00:00:00 2001 From: kytwb Date: Fri, 7 Jan 2022 02:07:56 +0100 Subject: Eventually get remote recipes updates in internal server --- .../app/Controllers/Http/RecipeController.js | 30 +++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/internal-server/app/Controllers/Http/RecipeController.js b/src/internal-server/app/Controllers/Http/RecipeController.js index daa9356f6..64838b338 100644 --- a/src/internal-server/app/Controllers/Http/RecipeController.js +++ b/src/internal-server/app/Controllers/Http/RecipeController.js @@ -85,10 +85,23 @@ class RecipeController { return response.send(results); } - // Return an empty array - update({ - response, - }) { + async update({ request, response }) { + // eslint-disable-next-line eqeqeq + if (Env.get('CONNECT_WITH_FRANZ') == 'true') { + const body = request.all(); + try { + const remoteUpdates = await fetch(`${RECIPES_URL}/update`, { + method: 'POST', + body: JSON.stringify(body), + headers: {'Content-Type': 'application/json'} + }); + return response.send( + remoteUpdates.ok ? await remoteUpdates.json() : remoteUpdates, + ); + } catch (error) { + return response.send({ error }); + } + } return response.send([]); } @@ -120,15 +133,14 @@ class RecipeController { if (/\.+/.test(service) || /\/+/.test(service)) { return response.send('Invalid recipe name'); } - - // Check if recipe exists in recipes folder - if (await Drive.exists(`${service}.tar.gz`)) { - return response.send(await Drive.get(`${service}.tar.gz`)); - } // eslint-disable-next-line eqeqeq if (Env.get('CONNECT_WITH_FRANZ') == 'true') { return response.redirect(`${RECIPES_URL}/download/${service}`); } + // Check if recipe exists in recipes folder + if (await Drive.exists(`${service}.tar.gz`)) { + return response.send(await Drive.get(`${service}.tar.gz`)); + } return response.status(400).send({ message: 'Recipe not found', code: 'recipe-not-found', -- cgit v1.2.3-54-g00ecf