From 07b9ffdcf74da44909ed54983746fbf5adcea5b8 Mon Sep 17 00:00:00 2001 From: TimofeyBoyko Date: Thu, 25 Aug 2022 14:49:17 +0300 Subject: [PATCH] Plugins: app new path to plugins store --- common/ASC.WebPlugins/src/plugins/plugins.service.ts | 2 +- common/ASC.WebPlugins/src/utils/file-filter.ts | 11 ++++++++--- common/ASC.WebPlugins/src/utils/storage.ts | 7 ++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/common/ASC.WebPlugins/src/plugins/plugins.service.ts b/common/ASC.WebPlugins/src/plugins/plugins.service.ts index 6bf70b114d..41d65a0cba 100644 --- a/common/ASC.WebPlugins/src/plugins/plugins.service.ts +++ b/common/ASC.WebPlugins/src/plugins/plugins.service.ts @@ -57,7 +57,7 @@ export class PluginsService { const dir = path.join( __dirname, - "../../../../../../../public/scripts", + "../../../../../../../public/plugins", `${fileName}` ); diff --git a/common/ASC.WebPlugins/src/utils/file-filter.ts b/common/ASC.WebPlugins/src/utils/file-filter.ts index 1e028b0f99..8a5af5afa5 100644 --- a/common/ASC.WebPlugins/src/utils/file-filter.ts +++ b/common/ASC.WebPlugins/src/utils/file-filter.ts @@ -4,12 +4,17 @@ import * as path from "path"; const fileFilter = (req, file, cb) => { const pluginsDir = path.join( __dirname, - "../../../../../../../public/scripts" + "../../../../../../../public/plugins" ); - var files = fs.readdirSync(pluginsDir); + let files = null; + let isUniqName = true; - const isUniqName = !files.includes(file.originalname); + if (fs.existsSync(pluginsDir)) { + files = fs.readdirSync(pluginsDir); + + isUniqName = !files?.includes(file.originalname); + } if (file.mimetype === "text/javascript" && isUniqName) return cb(null, true); diff --git a/common/ASC.WebPlugins/src/utils/storage.ts b/common/ASC.WebPlugins/src/utils/storage.ts index 66cd7b5177..c702de53c2 100644 --- a/common/ASC.WebPlugins/src/utils/storage.ts +++ b/common/ASC.WebPlugins/src/utils/storage.ts @@ -1,9 +1,14 @@ import { diskStorage } from "multer"; import * as path from "path"; +import * as fs from "fs"; const storage = diskStorage({ destination: function (req, file, cb) { - const dir = path.join(__dirname, "../../../../../../../public/scripts"); + const dir = path.join(__dirname, "../../../../../../../public/plugins"); + + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir); + } cb(null, dir); },