From a53d5f8ab5c089f0f8ab19125db4c6f7b4058373 Mon Sep 17 00:00:00 2001 From: kytwb Date: Fri, 7 Jan 2022 12:29:51 +0100 Subject: Add recipes update --- app/Controllers/Http/RecipeController.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'app/Controllers') diff --git a/app/Controllers/Http/RecipeController.js b/app/Controllers/Http/RecipeController.js index a2b129d..07cd430 100644 --- a/app/Controllers/Http/RecipeController.js +++ b/app/Controllers/Http/RecipeController.js @@ -9,6 +9,7 @@ const Env = use('Env'); const targz = require('targz'); const path = require('path'); const fs = require('fs-extra'); +const semver = require('semver'); const compress = (src, dest) => new Promise((resolve, reject) => { targz.compress({ @@ -166,8 +167,24 @@ class RecipeController { ); } - update({ response }) { - return response.send([]); + update({ request, response }) { + const updates = []; + const recipes = request.all(); + const allJson = fs.readJsonSync(path.join( + Helpers.appRoot(), 'recipes', 'all.json', + )); + + for (const recipe of Object.keys(recipes)) { + const version = recipes[recipe]; + + // Find recipe in local recipe repository + const localRecipe = allJson.find(r => r.id === recipe); + if (localRecipe && semver.lt(version, localRecipe.version)) { + updates.push(recipe); + } + } + + return response.send(updates); } // Download a recipe -- cgit v1.2.3-54-g00ecf