Chore/consistent services and error handlers (#2101)

* Update index.ts

* Update buildChatflow.ts

* Update index.ts

* Update index.ts

* Update index.ts

* Update index.ts

* Update index.ts

* Update index.ts

* Update index.ts

* Update index.ts

* Consistency

* Rename ApiError to InternalServerError

* Use InternalFlowiseError in controllers

* Use InternalFlowiseError in services

* Catch routes without preconditioned parameters

* Reconfigure the route precondition checks

* Fix router precondition checks

* cleanup status codes, get proper error messages

---------

Co-authored-by: Henry <hzj94@hotmail.com>
This commit is contained in:
Octavian FlowiseAI
2024-04-11 03:11:01 -07:00
committed by GitHub
parent 024b2ad22e
commit d7194e8aaa
98 changed files with 862 additions and 651 deletions
@@ -155,7 +155,7 @@ export default function FlowListMenu({ chatflow, setError, updateFlowsApi }) {
} catch (error) {
setError(error)
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -194,7 +194,7 @@ export default function FlowListMenu({ chatflow, setError, updateFlowsApi }) {
} catch (error) {
setError(error)
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -226,7 +226,7 @@ export default function FlowListMenu({ chatflow, setError, updateFlowsApi }) {
} catch (error) {
setError(error)
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -83,7 +83,7 @@ const ManageScrapedLinksDialog = ({ show, dialogProps, onCancel, onSave }) => {
}
} catch (error) {
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -262,7 +262,7 @@ const ViewMessagesDialog = ({ show, dialogProps, onCancel }) => {
getStatsApi.request(chatflowid) // update stats
} catch (error) {
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -70,7 +70,9 @@ const AllowedDomains = ({ dialogProps }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Allowed Origins: ${error.response.data.message}`,
message: `Failed to save Allowed Origins: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -145,7 +145,9 @@ const AnalyseFlow = ({ dialogProps }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Analytic Configuration: ${error.response.data.message}`,
message: `Failed to save Analytic Configuration: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -60,7 +60,9 @@ const ChatFeedback = ({ dialogProps }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Chat Feedback Settings: ${error.response.data.message}`,
message: `Failed to save Chat Feedback Settings: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -74,7 +74,9 @@ const RateLimit = () => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Rate Limit Configuration: ${error.response.data.message}`,
message: `Failed to save Rate Limit Configuration: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -113,7 +113,9 @@ const SpeechToText = ({ dialogProps }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Speech To Text Configuration: ${error.response.data.message}`,
message: `Failed to save Speech To Text Configuration: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -81,7 +81,9 @@ const StarterPrompts = ({ dialogProps }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Conversation Starter Prompts: ${error.response.data.message}`,
message: `Failed to save Conversation Starter Prompts: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -79,7 +79,9 @@ const APIKeyDialog = ({ show, dialogProps, onCancel, onConfirm, setError }) => {
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to add new API key: ${error.response.data.message}`,
message: `Failed to add new API key: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -116,7 +118,9 @@ const APIKeyDialog = ({ show, dialogProps, onCancel, onConfirm, setError }) => {
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to save API key: ${error.response.data.message}`,
message: `Failed to save API key: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
+3 -1
View File
@@ -286,7 +286,9 @@ const APIKey = () => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to delete API key: ${error.response.data.message}`,
message: `Failed to delete API key: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -249,7 +249,9 @@ const AssistantDialog = ({ show, dialogProps, onCancel, onConfirm, setError }) =
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to add new Assistant: ${error.response.data.message}`,
message: `Failed to add new Assistant: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -303,7 +305,9 @@ const AssistantDialog = ({ show, dialogProps, onCancel, onConfirm, setError }) =
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to save Assistant: ${error.response.data.message}`,
message: `Failed to save Assistant: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -343,7 +347,9 @@ const AssistantDialog = ({ show, dialogProps, onCancel, onConfirm, setError }) =
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to sync Assistant: ${error.response.data.message}`,
message: `Failed to sync Assistant: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -390,7 +396,9 @@ const AssistantDialog = ({ show, dialogProps, onCancel, onConfirm, setError }) =
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to delete Assistant: ${error.response.data.message}`,
message: `Failed to delete Assistant: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
+1 -1
View File
@@ -173,7 +173,7 @@ const Canvas = () => {
navigate('/')
} catch (error) {
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -162,7 +162,9 @@ const ShareChatbot = ({ isSessionMemory }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Chatbot Configuration: ${error.response.data.message}`,
message: `Failed to save Chatbot Configuration: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -197,7 +199,9 @@ const ShareChatbot = ({ isSessionMemory }) => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Chatbot Configuration: ${error.response.data.message}`,
message: `Failed to save Chatbot Configuration: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -406,10 +406,6 @@ export const ChatMessage = ({ open, chatflowid, isDialog, previews, setPreviews
if (response.data) {
const data = response.data
if (data.executionError) {
handleError(data.msg)
return
}
setMessages((prevMessages) => {
let allMessages = [...cloneDeep(prevMessages)]
@@ -106,7 +106,7 @@ export const ChatPopUp = ({ chatflowid }) => {
})
} catch (error) {
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -134,7 +134,9 @@ const AddEditCredentialDialog = ({ show, dialogProps, onCancel, onConfirm, setEr
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to add new Credential: ${error.response.data.message}`,
message: `Failed to add new Credential: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -184,7 +186,9 @@ const AddEditCredentialDialog = ({ show, dialogProps, onCancel, onConfirm, setEr
} catch (error) {
setError(error)
enqueueSnackbar({
message: `Failed to save Credential: ${error.response.data.message}`,
message: `Failed to save Credential: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
+3 -1
View File
@@ -162,7 +162,9 @@ const Credentials = () => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to delete Credential: ${error.response.data.message}`,
message: `Failed to delete Credential: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
+12 -4
View File
@@ -233,7 +233,9 @@ const ToolDialog = ({ show, dialogProps, onUseTemplate, onCancel, onConfirm, set
}
} catch (error) {
enqueueSnackbar({
message: `Failed to export Tool: ${error.response.data.message}`,
message: `Failed to export Tool: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -277,7 +279,9 @@ const ToolDialog = ({ show, dialogProps, onUseTemplate, onCancel, onConfirm, set
}
} catch (error) {
enqueueSnackbar({
message: `Failed to add new Tool: ${error.response.data.message}`,
message: `Failed to add new Tool: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -319,7 +323,9 @@ const ToolDialog = ({ show, dialogProps, onUseTemplate, onCancel, onConfirm, set
}
} catch (error) {
enqueueSnackbar({
message: `Failed to save Tool: ${error.response.data.message}`,
message: `Failed to save Tool: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -364,7 +370,9 @@ const ToolDialog = ({ show, dialogProps, onUseTemplate, onCancel, onConfirm, set
}
} catch (error) {
enqueueSnackbar({
message: `Failed to delete Tool: ${error.response.data.message}`,
message: `Failed to delete Tool: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -113,7 +113,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm, setErro
} catch (err) {
setError(err)
enqueueSnackbar({
message: `Failed to add new Variable: ${error.response.data.message}`,
message: `Failed to add new Variable: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -156,7 +158,9 @@ const AddEditVariableDialog = ({ show, dialogProps, onCancel, onConfirm, setErro
} catch (error) {
setError(err)
enqueueSnackbar({
message: `Failed to save Variable: ${error.response.data.message}`,
message: `Failed to save Variable: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
+3 -1
View File
@@ -149,7 +149,9 @@ const Variables = () => {
}
} catch (error) {
enqueueSnackbar({
message: `Failed to delete Variable: ${error.response.data.message}`,
message: `Failed to delete Variable: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -259,7 +259,9 @@ const UpsertHistoryDialog = ({ show, dialogProps, onCancel }) => {
setSelected([])
} catch (error) {
enqueueSnackbar({
message: 'Error deleting upsert history',
message: `Failed to delete Upsert History: ${
typeof error.response.data === 'object' ? error.response.data.message : error.response.data
}`,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',
@@ -293,7 +293,7 @@ query(formData).then((response) => {
if (res && res.data && typeof res.data === 'object') onIndexResult(res.data)
} catch (error) {
enqueueSnackbar({
message: error.response.data.message,
message: typeof error.response.data === 'object' ? error.response.data.message : error.response.data,
options: {
key: new Date().getTime() + Math.random(),
variant: 'error',