2
0

fix(engine): 🐛 Save variables from webhooks in results

This commit is contained in:
Baptiste Arnaud
2022-03-28 17:07:47 +02:00
parent cd6c5c04c5
commit 60dcd5c246
12 changed files with 98 additions and 56 deletions

View File

@ -4,7 +4,7 @@ import React, { createContext, ReactNode, useContext, useState } from 'react'
const answersContext = createContext<{
resultValues: ResultValues
addAnswer: (answer: Answer) => void
setPrefilledVariables: (variables: VariableWithValue[]) => void
updateVariables: (variables: VariableWithValue[]) => void
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-ignore
}>({})
@ -12,13 +12,15 @@ const answersContext = createContext<{
export const AnswersContext = ({
children,
onNewAnswer,
onVariablesUpdated,
}: {
onNewAnswer: (answer: Answer) => void
onVariablesUpdated?: (variables: VariableWithValue[]) => void
children: ReactNode
}) => {
const [resultValues, setResultValues] = useState<ResultValues>({
answers: [],
prefilledVariables: [],
variables: [],
createdAt: new Date().toISOString(),
})
@ -30,18 +32,22 @@ export const AnswersContext = ({
onNewAnswer(answer)
}
const setPrefilledVariables = (variables: VariableWithValue[]) =>
setResultValues((resultValues) => ({
...resultValues,
prefilledVariables: variables,
}))
const updateVariables = (variables: VariableWithValue[]) =>
setResultValues((resultValues) => {
const updatedVariables = [...resultValues.variables, ...variables]
if (onVariablesUpdated) onVariablesUpdated(updatedVariables)
return {
...resultValues,
variables: updatedVariables,
}
})
return (
<answersContext.Provider
value={{
resultValues,
addAnswer,
setPrefilledVariables,
updateVariables,
}}
>
{children}