aboutsummaryrefslogtreecommitdiffstats
path: root/src/internal-server/app/ImageHelper.js
diff options
context:
space:
mode:
authorLibravatar Vijay A <vraravam@users.noreply.github.com>2022-05-14 21:46:47 -0500
committerLibravatar Vijay Aravamudhan <vraravam@users.noreply.github.com>2022-05-15 15:13:19 -0500
commitb153a938645a0c2193a20967325ca855ab671073 (patch)
treedd126334c16ea46136648147edde0e8125137947 /src/internal-server/app/ImageHelper.js
parentUpgrade 'pnpm' to '7.1.0'; pull in latst version of 'recipes' [skip ci] (diff)
downloadferdium-app-b153a938645a0c2193a20967325ca855ab671073.tar.gz
ferdium-app-b153a938645a0c2193a20967325ca855ab671073.tar.zst
ferdium-app-b153a938645a0c2193a20967325ca855ab671073.zip
Extracted ImageHelper and ImageController from ServiceController for reuse
Diffstat (limited to 'src/internal-server/app/ImageHelper.js')
-rw-r--r--src/internal-server/app/ImageHelper.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/internal-server/app/ImageHelper.js b/src/internal-server/app/ImageHelper.js
new file mode 100644
index 000000000..b399d08c4
--- /dev/null
+++ b/src/internal-server/app/ImageHelper.js
@@ -0,0 +1,24 @@
1const Env = use('Env');
2
3const { v4: uuid } = require('uuid');
4
5const path = require('path');
6const fs = require('fs-extra');
7
8module.exports = async (icon) => {
9 const iconsPath = path.join(Env.get('USER_PATH'), 'icons');
10 await fs.ensureDir(iconsPath);
11
12 // Generate new icon ID
13 let iconId;
14 do {
15 iconId = uuid() + uuid();
16 } while (fs.existsSync(path.join(iconsPath, iconId)));
17 iconId = `${iconId}.${icon.extname}`;
18
19 await icon.move(iconsPath, {
20 name: iconId,
21 overwrite: true,
22 });
23 return !icon.moved() ? '-1' : iconId;
24};