diff --git a/packages/server/src/enterprise/controllers/auth/index.ts b/packages/server/src/enterprise/controllers/auth/index.ts index bf1c742e99b..8fae291c1a5 100644 --- a/packages/server/src/enterprise/controllers/auth/index.ts +++ b/packages/server/src/enterprise/controllers/auth/index.ts @@ -11,6 +11,10 @@ const getAllPermissions = async (req: Request, res: Response, next: NextFunction const allPermissions = appServer.identityManager.getPermissions().toJSON() const user = req.user as LoggedInUser + if (!user) { + return res.status(StatusCodes.UNAUTHORIZED).json({ message: 'Unauthorized' }) + } + let permissions: { [key: string]: { key: string; value: string }[] } = allPermissions // Mapping of feature flags to permission prefixes diff --git a/packages/server/src/utils/buildChatflow.ts b/packages/server/src/utils/buildChatflow.ts index c54c009c43a..02cd62ab205 100644 --- a/packages/server/src/utils/buildChatflow.ts +++ b/packages/server/src/utils/buildChatflow.ts @@ -448,7 +448,7 @@ export const executeFlow = async ({ if (fileInputFieldFromExt !== 'txtFile') { fileInputField = fileInputFieldFromExt } else if (fileInputFieldFromMimeType !== 'txtFile') { - fileInputField = fileInputFieldFromExt + fileInputField = fileInputFieldFromMimeType } if (overrideConfig[fileInputField]) { diff --git a/packages/server/src/utils/index.ts b/packages/server/src/utils/index.ts index 7ea3adbfd8e..9158d66cb77 100644 --- a/packages/server/src/utils/index.ts +++ b/packages/server/src/utils/index.ts @@ -1187,9 +1187,17 @@ export const replaceInputsWithConfig = ( continue } } else { + // For FILE-STORAGE:: values (uploaded files mapped to txtFile, pdfFile, etc.), + // also allow override if the generic 'file' parameter is enabled for the node. + // This handles the case where users enable the 'file' input for override in the UI, + // which should also permit the server-side file-type fields to be applied. + const isFileStorageValue = + typeof overrideConfig[config] === 'string' && overrideConfig[config].includes('FILE-STORAGE::') if (!isParameterEnabled(flowNodeData.label, config)) { - // Only proceed if the parameter is enabled - continue + if (!(isFileStorageValue && isParameterEnabled(flowNodeData.label, 'file'))) { + // Only proceed if the parameter is enabled + continue + } } } diff --git a/packages/server/src/utils/upsertVector.ts b/packages/server/src/utils/upsertVector.ts index b7c17b45dcf..04e26e3bdf8 100644 --- a/packages/server/src/utils/upsertVector.ts +++ b/packages/server/src/utils/upsertVector.ts @@ -96,7 +96,7 @@ export const executeUpsert = async ({ if (fileInputFieldFromExt !== 'txtFile') { fileInputField = fileInputFieldFromExt } else if (fileInputFieldFromMimeType !== 'txtFile') { - fileInputField = fileInputFieldFromExt + fileInputField = fileInputFieldFromMimeType } if (overrideConfig[fileInputField]) {