From 8d50dc9dfabf7d2a62a45d0454edae78d7306dbd Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Fri, 16 Feb 2024 11:34:54 +0100 Subject: [PATCH] =?UTF-8?q?:technologist:=20Rename=20User=20ID=20predefine?= =?UTF-8?q?d=20value=20to=20Result=20ID=20whic=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/SetVariableContent.tsx | 1 + .../components/SetVariableSettings.tsx | 1 + .../docs/editor/blocks/logic/set-variable.mdx | 21 ++++++++++++------- apps/docs/openapi/builder.json | 6 ++++++ apps/docs/openapi/viewer.json | 2 ++ .../logic/setVariable/executeSetVariable.ts | 1 + .../blocks/logic/setVariable/constants.ts | 3 ++- .../blocks/logic/setVariable/schema.ts | 1 + 8 files changed, 27 insertions(+), 9 deletions(-) diff --git a/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableContent.tsx b/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableContent.tsx index 6722c49a8..3c40f9ceb 100644 --- a/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableContent.tsx +++ b/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableContent.tsx @@ -68,6 +68,7 @@ const Expression = ({ case 'Now': case 'Tomorrow': case 'User ID': + case 'Result ID': case 'Moment of the day': case 'Environment name': case 'Yesterday': { diff --git a/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx b/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx index 2894208c2..3c08c05f3 100644 --- a/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx +++ b/apps/builder/src/features/blocks/logic/setVariable/components/SetVariableSettings.tsx @@ -218,6 +218,7 @@ const SetVariableValue = ({ case 'Random ID': case 'User ID': case 'Today': + case 'Result ID': case 'Empty': return null } diff --git a/apps/docs/editor/blocks/logic/set-variable.mdx b/apps/docs/editor/blocks/logic/set-variable.mdx index 4faac7199..f66a1d227 100644 --- a/apps/docs/editor/blocks/logic/set-variable.mdx +++ b/apps/docs/editor/blocks/logic/set-variable.mdx @@ -94,6 +94,10 @@ For example, [Valid value types](../../variables#valid-value-types) for more information. +## Result ID + +This will set your variable with the current result ID. The result ID is the ID that corresponds to a row of your [Results](../../../results/overview.mdx) table. It can be considered like a User ID for the currently chatting user. + ## Moment of the day It will set your variable with either one of these values based on the user's time of the day: `morning`, `afternoon`, `evening`, `night`. @@ -130,21 +134,22 @@ For this you can provide the following custom code: function getLocation() { return new Promise((resolve) => { navigator.geolocation.getCurrentPosition( - position => resolve(`${position.coords.latitude}, ${position.coords.longitude}`), - error => resolve("error"), + (position) => + resolve(`${position.coords.latitude}, ${position.coords.longitude}`), + (error) => resolve('error'), { enableHighAccuracy: true, timeout: 5000 } - ); - }); + ) + }) } -const coords = await getLocation(); +const coords = await getLocation() // Check for error -if (coords === "error") { - return "Unable to get location"; +if (coords === 'error') { + return 'Unable to get location' } -return coords; +return coords ``` This custom function can only work when it is executed on the client browser so you need to make sure to enable the "Execute on client" option. diff --git a/apps/docs/openapi/builder.json b/apps/docs/openapi/builder.json index 71d4bd06d..12d376ea6 100644 --- a/apps/docs/openapi/builder.json +++ b/apps/docs/openapi/builder.json @@ -584,6 +584,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" @@ -4978,6 +4979,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" @@ -8423,6 +8425,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" @@ -16931,6 +16934,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" @@ -20443,6 +20447,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" @@ -23262,6 +23267,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" diff --git a/apps/docs/openapi/viewer.json b/apps/docs/openapi/viewer.json index 3d77d6a7e..64c8fcc4e 100644 --- a/apps/docs/openapi/viewer.json +++ b/apps/docs/openapi/viewer.json @@ -3651,6 +3651,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" @@ -7455,6 +7456,7 @@ "Empty", "Environment name", "User ID", + "Result ID", "Random ID", "Phone number", "Contact name" diff --git a/packages/bot-engine/blocks/logic/setVariable/executeSetVariable.ts b/packages/bot-engine/blocks/logic/setVariable/executeSetVariable.ts index 43b7c8dae..183567e0b 100644 --- a/packages/bot-engine/blocks/logic/setVariable/executeSetVariable.ts +++ b/packages/bot-engine/blocks/logic/setVariable/executeSetVariable.ts @@ -116,6 +116,7 @@ const getExpressionToEvaluate = case 'Random ID': { return `"${createId()}"` } + case 'Result ID': case 'User ID': { return state.typebotsQueue[0].resultId ?? `"${createId()}"` } diff --git a/packages/schemas/features/blocks/logic/setVariable/constants.ts b/packages/schemas/features/blocks/logic/setVariable/constants.ts index 3d2d6e1f1..556eb87ec 100644 --- a/packages/schemas/features/blocks/logic/setVariable/constants.ts +++ b/packages/schemas/features/blocks/logic/setVariable/constants.ts @@ -6,6 +6,7 @@ export const valueTypes = [ 'Append value(s)', 'Environment name', 'User ID', + 'Result ID', 'Now', 'Today', 'Yesterday', @@ -17,7 +18,7 @@ export const valueTypes = [ 'Contact name', ] as const -export const hiddenTypes = ['Today'] as const +export const hiddenTypes = ['Today', 'User ID'] as const export const defaultSetVariableOptions = { type: 'Custom', diff --git a/packages/schemas/features/blocks/logic/setVariable/schema.ts b/packages/schemas/features/blocks/logic/setVariable/schema.ts index 047addd46..8471b23b1 100644 --- a/packages/schemas/features/blocks/logic/setVariable/schema.ts +++ b/packages/schemas/features/blocks/logic/setVariable/schema.ts @@ -17,6 +17,7 @@ const basicSetVariableOptionsSchema = baseOptions.extend({ 'Empty', 'Environment name', 'User ID', + 'Result ID', 'Random ID', 'Phone number', 'Contact name',