From 7482e7fff659805a6921f0d68efee8e6d7c77ad9 Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Tue, 3 Dec 2024 23:34:27 +0000 Subject: [PATCH] Chore/Update multer path if blob storage path is set (#3609) update multer path if blob storage path is set --- packages/server/src/routes/attachments/index.ts | 4 ++-- packages/server/src/routes/documentstore/index.ts | 6 +++--- packages/server/src/routes/openai-assistants-files/index.ts | 4 ++-- .../src/routes/openai-assistants-vector-store/index.ts | 4 ++-- packages/server/src/routes/predictions/index.ts | 4 ++-- packages/server/src/routes/vectors/index.ts | 4 ++-- packages/server/src/utils/index.ts | 6 ++++++ 7 files changed, 19 insertions(+), 13 deletions(-) diff --git a/packages/server/src/routes/attachments/index.ts b/packages/server/src/routes/attachments/index.ts index abe09a6c..a4223781 100644 --- a/packages/server/src/routes/attachments/index.ts +++ b/packages/server/src/routes/attachments/index.ts @@ -1,11 +1,11 @@ import express from 'express' import multer from 'multer' -import path from 'path' import attachmentsController from '../../controllers/attachments' +import { getUploadPath } from '../../utils' const router = express.Router() -const upload = multer({ dest: `${path.join(__dirname, '..', '..', '..', 'uploads')}/` }) +const upload = multer({ dest: getUploadPath() }) // CREATE router.post('/:chatflowId/:chatId', upload.array('files'), attachmentsController.createAttachment) diff --git a/packages/server/src/routes/documentstore/index.ts b/packages/server/src/routes/documentstore/index.ts index 789a3566..e0892cfc 100644 --- a/packages/server/src/routes/documentstore/index.ts +++ b/packages/server/src/routes/documentstore/index.ts @@ -1,10 +1,10 @@ import express from 'express' -import documentStoreController from '../../controllers/documentstore' import multer from 'multer' -import path from 'path' +import { getUploadPath } from '../../utils' +import documentStoreController from '../../controllers/documentstore' const router = express.Router() -const upload = multer({ dest: `${path.join(__dirname, '..', '..', '..', 'uploads')}/` }) +const upload = multer({ dest: getUploadPath() }) router.post(['/upsert/', '/upsert/:id'], upload.array('files'), documentStoreController.upsertDocStoreMiddleware) diff --git a/packages/server/src/routes/openai-assistants-files/index.ts b/packages/server/src/routes/openai-assistants-files/index.ts index 771e5fd6..d7177547 100644 --- a/packages/server/src/routes/openai-assistants-files/index.ts +++ b/packages/server/src/routes/openai-assistants-files/index.ts @@ -1,10 +1,10 @@ import express from 'express' import multer from 'multer' -import path from 'path' import openaiAssistantsController from '../../controllers/openai-assistants' +import { getUploadPath } from '../../utils' const router = express.Router() -const upload = multer({ dest: `${path.join(__dirname, '..', '..', '..', 'uploads')}/` }) +const upload = multer({ dest: getUploadPath() }) router.post('/download/', openaiAssistantsController.getFileFromAssistant) router.post('/upload/', upload.array('files'), openaiAssistantsController.uploadAssistantFiles) diff --git a/packages/server/src/routes/openai-assistants-vector-store/index.ts b/packages/server/src/routes/openai-assistants-vector-store/index.ts index 1560e37e..a6721566 100644 --- a/packages/server/src/routes/openai-assistants-vector-store/index.ts +++ b/packages/server/src/routes/openai-assistants-vector-store/index.ts @@ -1,10 +1,10 @@ import express from 'express' import multer from 'multer' -import path from 'path' import openaiAssistantsVectorStoreController from '../../controllers/openai-assistants-vector-store' +import { getUploadPath } from '../../utils' const router = express.Router() -const upload = multer({ dest: `${path.join(__dirname, '..', '..', '..', 'uploads')}/` }) +const upload = multer({ dest: getUploadPath() }) // CREATE router.post('/', openaiAssistantsVectorStoreController.createAssistantVectorStore) diff --git a/packages/server/src/routes/predictions/index.ts b/packages/server/src/routes/predictions/index.ts index ded2d342..ca192c89 100644 --- a/packages/server/src/routes/predictions/index.ts +++ b/packages/server/src/routes/predictions/index.ts @@ -1,11 +1,11 @@ import express from 'express' import multer from 'multer' -import path from 'path' import predictionsController from '../../controllers/predictions' +import { getUploadPath } from '../../utils' const router = express.Router() -const upload = multer({ dest: `${path.join(__dirname, '..', '..', '..', 'uploads')}/` }) +const upload = multer({ dest: getUploadPath() }) // CREATE router.post(['/', '/:id'], upload.array('files'), predictionsController.getRateLimiterMiddleware, predictionsController.createPrediction) diff --git a/packages/server/src/routes/vectors/index.ts b/packages/server/src/routes/vectors/index.ts index cc257bca..060d7e4b 100644 --- a/packages/server/src/routes/vectors/index.ts +++ b/packages/server/src/routes/vectors/index.ts @@ -1,11 +1,11 @@ import express from 'express' import multer from 'multer' -import path from 'path' import vectorsController from '../../controllers/vectors' +import { getUploadPath } from '../../utils' const router = express.Router() -const upload = multer({ dest: `${path.join(__dirname, '..', '..', '..', 'uploads')}/` }) +const upload = multer({ dest: getUploadPath() }) // CREATE router.post( diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index d8d233dd..0946885b 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -1680,3 +1680,9 @@ export const getAPIOverrideConfig = (chatflow: IChatFlow) => { return { nodeOverrides: {}, variableOverrides: [], apiOverrideStatus: false } } } + +export const getUploadPath = (): string => { + return process.env.BLOB_STORAGE_PATH + ? path.join(process.env.BLOB_STORAGE_PATH, 'uploads') + : path.join(getUserHome(), '.flowise', 'uploads') +}