diff options
Diffstat (limited to 'src/internal-server')
-rw-r--r-- | src/internal-server/app/Controllers/Http/RecipeController.js | 12 | ||||
-rw-r--r-- | src/internal-server/app/Controllers/Http/ServiceController.js | 8 | ||||
-rw-r--r-- | src/internal-server/app/Controllers/Http/StaticController.js | 8 | ||||
-rw-r--r-- | src/internal-server/app/ImageHelper.js | 9 | ||||
-rw-r--r-- | src/internal-server/start.ts | 17 | ||||
-rw-r--r-- | src/internal-server/start/routes.js | 12 |
6 files changed, 38 insertions, 28 deletions
diff --git a/src/internal-server/app/Controllers/Http/RecipeController.js b/src/internal-server/app/Controllers/Http/RecipeController.js index eac34aa5c..61fa6be8f 100644 --- a/src/internal-server/app/Controllers/Http/RecipeController.js +++ b/src/internal-server/app/Controllers/Http/RecipeController.js | |||
@@ -4,7 +4,9 @@ const { validateAll } = use('Validator'); | |||
4 | const Env = use('Env'); | 4 | const Env = use('Env'); |
5 | 5 | ||
6 | const fetch = require('node-fetch'); | 6 | const fetch = require('node-fetch'); |
7 | const debug = require('../../../../preload-safe-debug')('Ferdium:internalServer:RecipeController'); | 7 | const debug = require('../../../../preload-safe-debug')( |
8 | 'Ferdium:internalServer:RecipeController', | ||
9 | ); | ||
8 | const { LIVE_FERDIUM_API } = require('../../../../config'); | 10 | const { LIVE_FERDIUM_API } = require('../../../../config'); |
9 | const { convertToJSON } = require('../../../../jsUtils'); | 11 | const { convertToJSON } = require('../../../../jsUtils'); |
10 | const { API_VERSION } = require('../../../../environment-remote'); | 12 | const { API_VERSION } = require('../../../../environment-remote'); |
@@ -87,15 +89,11 @@ class RecipeController { | |||
87 | } | 89 | } |
88 | 90 | ||
89 | // Return an empty array | 91 | // Return an empty array |
90 | update({ | 92 | update({ response }) { |
91 | response, | ||
92 | }) { | ||
93 | return response.send([]); | 93 | return response.send([]); |
94 | } | 94 | } |
95 | 95 | ||
96 | async popularRecipes({ | 96 | async popularRecipes({ response }) { |
97 | response, | ||
98 | }) { | ||
99 | const recipesUrlFetch = await fetch(`${RECIPES_URL}/popular`); | 97 | const recipesUrlFetch = await fetch(`${RECIPES_URL}/popular`); |
100 | const featuredRecipes = convertToJSON(await recipesUrlFetch.text()); | 98 | const featuredRecipes = convertToJSON(await recipesUrlFetch.text()); |
101 | return response.send(featuredRecipes); | 99 | return response.send(featuredRecipes); |
diff --git a/src/internal-server/app/Controllers/Http/ServiceController.js b/src/internal-server/app/Controllers/Http/ServiceController.js index 44e4a7369..226adb134 100644 --- a/src/internal-server/app/Controllers/Http/ServiceController.js +++ b/src/internal-server/app/Controllers/Http/ServiceController.js | |||
@@ -2,7 +2,10 @@ const Service = use('App/Models/Service'); | |||
2 | const { validateAll } = use('Validator'); | 2 | const { validateAll } = use('Validator'); |
3 | 3 | ||
4 | const { v4: uuid } = require('uuid'); | 4 | const { v4: uuid } = require('uuid'); |
5 | const { DEFAULT_SERVICE_ORDER, DEFAULT_SERVICE_SETTINGS } = require('../../../../config'); | 5 | const { |
6 | DEFAULT_SERVICE_ORDER, | ||
7 | DEFAULT_SERVICE_SETTINGS, | ||
8 | } = require('../../../../config'); | ||
6 | const { convertToJSON } = require('../../../../jsUtils'); | 9 | const { convertToJSON } = require('../../../../jsUtils'); |
7 | const { deduceIconUrl, moveIcon } = require('../../ImageHelper'); | 10 | const { deduceIconUrl, moveIcon } = require('../../ImageHelper'); |
8 | 11 | ||
@@ -30,7 +33,8 @@ class ServiceController { | |||
30 | serviceId = uuid(); | 33 | serviceId = uuid(); |
31 | } while ( | 34 | } while ( |
32 | // eslint-disable-next-line no-await-in-loop, unicorn/no-await-expression-member | 35 | // eslint-disable-next-line no-await-in-loop, unicorn/no-await-expression-member |
33 | (await Service.query().where('serviceId', serviceId).fetch()).rows.length > 0 | 36 | (await Service.query().where('serviceId', serviceId).fetch()).rows |
37 | .length > 0 | ||
34 | ); | 38 | ); |
35 | 39 | ||
36 | await Service.create({ | 40 | await Service.create({ |
diff --git a/src/internal-server/app/Controllers/Http/StaticController.js b/src/internal-server/app/Controllers/Http/StaticController.js index ac6f89008..0a0146d6b 100644 --- a/src/internal-server/app/Controllers/Http/StaticController.js +++ b/src/internal-server/app/Controllers/Http/StaticController.js | |||
@@ -4,9 +4,7 @@ | |||
4 | 4 | ||
5 | class StaticController { | 5 | class StaticController { |
6 | // Enable all features | 6 | // Enable all features |
7 | features({ | 7 | features({ response }) { |
8 | response, | ||
9 | }) { | ||
10 | return response.send({ | 8 | return response.send({ |
11 | isServiceProxyEnabled: true, | 9 | isServiceProxyEnabled: true, |
12 | isWorkspaceEnabled: true, | 10 | isWorkspaceEnabled: true, |
@@ -20,9 +18,7 @@ class StaticController { | |||
20 | } | 18 | } |
21 | 19 | ||
22 | // Show announcements | 20 | // Show announcements |
23 | announcement({ | 21 | announcement({ response }) { |
24 | response, | ||
25 | }) { | ||
26 | return response.send({}); | 22 | return response.send({}); |
27 | } | 23 | } |
28 | } | 24 | } |
diff --git a/src/internal-server/app/ImageHelper.js b/src/internal-server/app/ImageHelper.js index e7c981a1d..905ba81ab 100644 --- a/src/internal-server/app/ImageHelper.js +++ b/src/internal-server/app/ImageHelper.js | |||
@@ -6,7 +6,7 @@ const path = require('path'); | |||
6 | const fs = require('fs-extra'); | 6 | const fs = require('fs-extra'); |
7 | const { API_VERSION } = require('../../environment-remote'); | 7 | const { API_VERSION } = require('../../environment-remote'); |
8 | 8 | ||
9 | const moveIcon = async (icon) => { | 9 | const moveIcon = async icon => { |
10 | const iconsPath = path.join(Env.get('USER_PATH'), 'icons'); | 10 | const iconsPath = path.join(Env.get('USER_PATH'), 'icons'); |
11 | await fs.ensureDir(iconsPath); | 11 | await fs.ensureDir(iconsPath); |
12 | 12 | ||
@@ -24,6 +24,11 @@ const moveIcon = async (icon) => { | |||
24 | return !icon.moved() ? '-1' : iconId; | 24 | return !icon.moved() ? '-1' : iconId; |
25 | }; | 25 | }; |
26 | 26 | ||
27 | const deduceIconUrl = (iconId) => iconId ? `http://${Env.get('HOST')}:${Env.get('PORT')}/${API_VERSION}/icon/${iconId}` : null | 27 | const deduceIconUrl = iconId => |
28 | iconId | ||
29 | ? `http://${Env.get('HOST')}:${Env.get( | ||
30 | 'PORT', | ||
31 | )}/${API_VERSION}/icon/${iconId}` | ||
32 | : null; | ||
28 | 33 | ||
29 | module.exports = { moveIcon, deduceIconUrl }; | 34 | module.exports = { moveIcon, deduceIconUrl }; |
diff --git a/src/internal-server/start.ts b/src/internal-server/start.ts index ae28e3313..f5e1953e7 100644 --- a/src/internal-server/start.ts +++ b/src/internal-server/start.ts | |||
@@ -63,12 +63,15 @@ export const server = async (userPath: string, port: number, token: string) => { | |||
63 | returned = true; | 63 | returned = true; |
64 | } | 64 | } |
65 | }); | 65 | }); |
66 | new Ignitor(fold).appRoot(__dirname).fireHttpServer().catch((error) => { | 66 | new Ignitor(fold) |
67 | console.error(error); | 67 | .appRoot(__dirname) |
68 | if (!returned) { | 68 | .fireHttpServer() |
69 | returned = true; | 69 | .catch(error => { |
70 | reject(error); | 70 | console.error(error); |
71 | } | 71 | if (!returned) { |
72 | }); | 72 | returned = true; |
73 | reject(error); | ||
74 | } | ||
75 | }); | ||
73 | }); | 76 | }); |
74 | }; | 77 | }; |
diff --git a/src/internal-server/start/routes.js b/src/internal-server/start/routes.js index 736796bb8..8aca39347 100644 --- a/src/internal-server/start/routes.js +++ b/src/internal-server/start/routes.js | |||
@@ -18,9 +18,13 @@ migrate(); | |||
18 | 18 | ||
19 | async function validateToken(clientToken, response, next) { | 19 | async function validateToken(clientToken, response, next) { |
20 | const serverToken = process.env.FERDIUM_LOCAL_TOKEN; | 20 | const serverToken = process.env.FERDIUM_LOCAL_TOKEN; |
21 | const valid = serverToken && | 21 | const valid = |
22 | serverToken && | ||
22 | clientToken && | 23 | clientToken && |
23 | timingSafeEqual(Buffer.from(clientToken, 'utf8'), Buffer.from(serverToken, 'utf8')); | 24 | timingSafeEqual( |
25 | Buffer.from(clientToken, 'utf8'), | ||
26 | Buffer.from(serverToken, 'utf8'), | ||
27 | ); | ||
24 | if (valid) { | 28 | if (valid) { |
25 | await next(); | 29 | await next(); |
26 | return true; | 30 | return true; |
@@ -41,11 +45,11 @@ const OnlyAllowFerdium = async ({ request, response }, next) => { | |||
41 | const RequireTokenInQS = async ({ request, response }, next) => { | 45 | const RequireTokenInQS = async ({ request, response }, next) => { |
42 | const clientToken = request.get().token; | 46 | const clientToken = request.get().token; |
43 | return validateToken(clientToken, response, next); | 47 | return validateToken(clientToken, response, next); |
44 | } | 48 | }; |
45 | 49 | ||
46 | const FERDIUM_LOCAL_TOKEN_COOKIE = 'ferdium-local-token'; | 50 | const FERDIUM_LOCAL_TOKEN_COOKIE = 'ferdium-local-token'; |
47 | 51 | ||
48 | const RequireAuthenticatedBrowser = async({ request, response }, next) => { | 52 | const RequireAuthenticatedBrowser = async ({ request, response }, next) => { |
49 | const clientToken = request.cookie(FERDIUM_LOCAL_TOKEN_COOKIE); | 53 | const clientToken = request.cookie(FERDIUM_LOCAL_TOKEN_COOKIE); |
50 | return validateToken(clientToken, response, next); | 54 | return validateToken(clientToken, response, next); |
51 | }; | 55 | }; |