From 2b6bff67f1bf91cc6b101b3913616d92f55910ea Mon Sep 17 00:00:00 2001 From: Matt Ahearn <59938342+mattahearn@users.noreply.github.com> Date: Thu, 28 Mar 2024 20:18:21 -0400 Subject: [PATCH] The "DocumentUploadEnabled" app setting is now split into 2 new names: "DocumentLocalUploadEnabled" and "DocumentGlobalUploadEnabled" to control whether the users can upload local, global, both, or none documents. --- webapi/Controllers/ServiceInfoController.cs | 3 ++- webapi/Models/FrontendConfig.cs | 6 ++++-- webapi/Options/FrontendOptions.cs | 3 ++- webapp/src/components/chat/ChatInput.tsx | 13 ++++++++----- webapp/src/components/chat/tabs/DocumentsTab.tsx | 5 ++++- webapp/src/libs/frontend/FrontendHelper.ts | 3 ++- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/webapi/Controllers/ServiceInfoController.cs b/webapi/Controllers/ServiceInfoController.cs index 8e0ba1fe9..b48178609 100644 --- a/webapi/Controllers/ServiceInfoController.cs +++ b/webapi/Controllers/ServiceInfoController.cs @@ -120,7 +120,8 @@ public IActionResult GetFrontEndConfig() HeaderIcon = this._frontendOptions.HeaderIcon, HeaderSettingsEnabled = this._frontendOptions.HeaderSettingsEnabled, HeaderPluginsEnabled = this._frontendOptions.HeaderPluginsEnabled, - DocumentUploadEnabled = this._frontendOptions.DocumentUploadEnabled, + DocumentLocalUploadEnabled = this._frontendOptions.DocumentLocalUploadEnabled, + DocumentGlobalUploadEnabled = this._frontendOptions.DocumentGlobalUploadEnabled, CreateNewChat = this._frontendOptions.CreateNewChat, DisclaimerMsg = this._frontendOptions.DisclaimerMsg }; diff --git a/webapi/Models/FrontendConfig.cs b/webapi/Models/FrontendConfig.cs index cc00d8ab7..e7f9ebb9a 100644 --- a/webapi/Models/FrontendConfig.cs +++ b/webapi/Models/FrontendConfig.cs @@ -26,8 +26,10 @@ public class FrontendConfig [JsonPropertyName("headerPluginsEnabled")] public Boolean HeaderPluginsEnabled { get; set; } = false; - [JsonPropertyName("documentUploadEnabled")] - public Boolean DocumentUploadEnabled { get; set; } = false; + [JsonPropertyName("documentLocalUploadEnabled")] + public Boolean DocumentLocalUploadEnabled { get; set; } = false; + [JsonPropertyName("documentGlobalUploadEnabled")] + public Boolean DocumentGlobalUploadEnabled { get; set; } = false; [JsonPropertyName("createNewChat")] public Boolean CreateNewChat { get; set; } = false; diff --git a/webapi/Options/FrontendOptions.cs b/webapi/Options/FrontendOptions.cs index e9fc1fe84..21c187b4a 100644 --- a/webapi/Options/FrontendOptions.cs +++ b/webapi/Options/FrontendOptions.cs @@ -22,7 +22,8 @@ public sealed class FrontendOptions public string HeaderIcon { get; set; } = string.Empty; public Boolean HeaderSettingsEnabled { get; set; } = false; public Boolean HeaderPluginsEnabled { get; set; } = false; - public Boolean DocumentUploadEnabled { get; set; } = false; + public Boolean DocumentLocalUploadEnabled { get; set; } = false; + public Boolean DocumentGlobalUploadEnabled { get; set; } = false; public Boolean CreateNewChat { get; set; } = false; public string DisclaimerMsg { get; set; } = string.Empty; } diff --git a/webapp/src/components/chat/ChatInput.tsx b/webapp/src/components/chat/ChatInput.tsx index ff17fd018..c0a3981ae 100644 --- a/webapp/src/components/chat/ChatInput.tsx +++ b/webapp/src/components/chat/ChatInput.tsx @@ -158,7 +158,7 @@ export const ChatInput: React.FC = ({ isDraggingOver, onDragLeav }; const handleDrop = (e: React.DragEvent) => { - if (store.getState().app.frontendSettings?.documentUploadEnabled != true) { + if (store.getState().app.frontendSettings?.documentLocalUploadEnabled != true) { return; } else { onDragLeave(e); @@ -194,13 +194,13 @@ export const ChatInput: React.FC = ({ isDraggingOver, onDragLeav disabled={conversations[selectedId].disabled} textarea={{ className: - isDraggingOver && store.getState().app.frontendSettings?.documentUploadEnabled == true + isDraggingOver && store.getState().app.frontendSettings?.documentLocalUploadEnabled == true ? mergeClasses(classes.dragAndDrop, classes.textarea) : classes.textarea, }} className={classes.input} value={ - isDraggingOver && store.getState().app.frontendSettings?.documentUploadEnabled == true + isDraggingOver && store.getState().app.frontendSettings?.documentLocalUploadEnabled == true ? 'Drop your files here' : value } @@ -219,7 +219,10 @@ export const ChatInput: React.FC = ({ isDraggingOver, onDragLeav } }} onChange={(_event, data) => { - if (isDraggingOver && store.getState().app.frontendSettings?.documentUploadEnabled == true) { + if ( + isDraggingOver && + store.getState().app.frontendSettings?.documentLocalUploadEnabled == true + ) { return; } @@ -257,7 +260,7 @@ export const ChatInput: React.FC = ({ isDraggingOver, onDragLeav />