diff options
Diffstat (limited to 'src/internal-server/app/Controllers/Http/RecipeController.js')
-rw-r--r-- | src/internal-server/app/Controllers/Http/RecipeController.js | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/internal-server/app/Controllers/Http/RecipeController.js b/src/internal-server/app/Controllers/Http/RecipeController.js index 1b0ac7035..7e35e6831 100644 --- a/src/internal-server/app/Controllers/Http/RecipeController.js +++ b/src/internal-server/app/Controllers/Http/RecipeController.js | |||
@@ -13,8 +13,10 @@ const RECIPES_URL = `${LIVE_FERDI_API}/${API_VERSION}/recipes`; | |||
13 | class RecipeController { | 13 | class RecipeController { |
14 | // List official and custom recipes | 14 | // List official and custom recipes |
15 | async list({ response }) { | 15 | async list({ response }) { |
16 | const officialRecipes = JSON.parse(await (await fetch(RECIPES_URL)).text()); | 16 | const recipesUrlFetch = await fetch(RECIPES_URL); |
17 | const customRecipesArray = (await Recipe.all()).rows; | 17 | const officialRecipes = JSON.parse(await recipesUrlFetch).text(); |
18 | const allRecipes = await Recipe.all(); | ||
19 | const customRecipesArray = allRecipes.rows; | ||
18 | const customRecipes = customRecipesArray.map(recipe => ({ | 20 | const customRecipes = customRecipesArray.map(recipe => ({ |
19 | id: recipe.recipeId, | 21 | id: recipe.recipeId, |
20 | name: recipe.name, | 22 | name: recipe.name, |
@@ -46,7 +48,8 @@ class RecipeController { | |||
46 | let results; | 48 | let results; |
47 | 49 | ||
48 | if (needle === 'ferdi:custom') { | 50 | if (needle === 'ferdi:custom') { |
49 | const dbResults = (await Recipe.all()).toJSON(); | 51 | const allRecipes = await Recipe.all(); |
52 | const dbResults = allRecipes.toJSON(); | ||
50 | results = dbResults.map(recipe => ({ | 53 | results = dbResults.map(recipe => ({ |
51 | id: recipe.recipeId, | 54 | id: recipe.recipeId, |
52 | name: recipe.name, | 55 | name: recipe.name, |
@@ -56,20 +59,18 @@ class RecipeController { | |||
56 | let remoteResults = []; | 59 | let remoteResults = []; |
57 | // eslint-disable-next-line eqeqeq | 60 | // eslint-disable-next-line eqeqeq |
58 | if (Env.get('CONNECT_WITH_FRANZ') == 'true') { | 61 | if (Env.get('CONNECT_WITH_FRANZ') == 'true') { |
59 | remoteResults = JSON.parse( | 62 | const recipesUrlFetch = await fetch( |
60 | await ( | 63 | `${RECIPES_URL}/search?needle=${encodeURIComponent(needle)}`, |
61 | await fetch( | ||
62 | `${RECIPES_URL}/search?needle=${encodeURIComponent(needle)}`, | ||
63 | ) | ||
64 | ).text(), | ||
65 | ); | 64 | ); |
65 | remoteResults = JSON.parse(await recipesUrlFetch.text()); | ||
66 | } | 66 | } |
67 | 67 | ||
68 | debug('remoteResults:', remoteResults); | 68 | debug('remoteResults:', remoteResults); |
69 | 69 | ||
70 | const localResultsArray = ( | 70 | const recipeQuery = await Recipe.query() |
71 | await Recipe.query().where('name', 'LIKE', `%${needle}%`).fetch() | 71 | .where('name', 'LIKE', `%${needle}%`) |
72 | ).toJSON(); | 72 | .fetch(); |
73 | const localResultsArray = recipeQuery.toJSON(); | ||
73 | const localResults = localResultsArray.map(recipe => ({ | 74 | const localResults = localResultsArray.map(recipe => ({ |
74 | id: recipe.recipeId, | 75 | id: recipe.recipeId, |
75 | name: recipe.name, | 76 | name: recipe.name, |