diff --git a/apps/builder/src/features/results/ResultsProvider.tsx b/apps/builder/src/features/results/ResultsProvider.tsx index e8e6d3f76..733e2b132 100644 --- a/apps/builder/src/features/results/ResultsProvider.tsx +++ b/apps/builder/src/features/results/ResultsProvider.tsx @@ -49,9 +49,9 @@ export const ResultsProvider = ({ const resultHeader = useMemo( () => publishedTypebot - ? parseResultHeader(publishedTypebot, linkedTypebots, flatResults) + ? parseResultHeader(publishedTypebot, linkedTypebots) : [], - [flatResults, linkedTypebots, publishedTypebot] + [linkedTypebots, publishedTypebot] ) const tableData = useMemo( diff --git a/apps/builder/src/features/results/api/procedures/getResultsProcedure.ts b/apps/builder/src/features/results/api/procedures/getResultsProcedure.ts index 88901cb42..30140339c 100644 --- a/apps/builder/src/features/results/api/procedures/getResultsProcedure.ts +++ b/apps/builder/src/features/results/api/procedures/getResultsProcedure.ts @@ -50,6 +50,7 @@ export const getResultsProcedure = authenticatedProcedure where: { typebotId: typebot.id, hasStarted: true, + isArchived: false, }, orderBy: { createdAt: 'desc', diff --git a/apps/builder/src/pages/api/typebots/[typebotId]/analytics/stats.ts b/apps/builder/src/pages/api/typebots/[typebotId]/analytics/stats.ts index dab92c499..5516350e5 100644 --- a/apps/builder/src/pages/api/typebots/[typebotId]/analytics/stats.ts +++ b/apps/builder/src/pages/api/typebots/[typebotId]/analytics/stats.ts @@ -23,17 +23,20 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => { prisma.result.count({ where: { typebotId: typebot.id, + isArchived: false, }, }), prisma.result.count({ where: { typebotId: typebot.id, + isArchived: false, hasStarted: true, }, }), prisma.result.count({ where: { typebotId: typebot.id, + isArchived: false, isCompleted: true, }, }), diff --git a/packages/db/mysql/schema.prisma b/packages/db/mysql/schema.prisma index 664e3d4dc..9e2284462 100644 --- a/packages/db/mysql/schema.prisma +++ b/packages/db/mysql/schema.prisma @@ -250,8 +250,8 @@ model Result { answers Answer[] logs Log[] - @@index([typebotId, hasStarted, createdAt(sort: Desc)]) - @@index([typebotId, isCompleted]) + @@index([typebotId, isArchived, hasStarted, createdAt(sort: Desc)]) + @@index([typebotId, isArchived, isCompleted]) } model Log { diff --git a/packages/utils/results.ts b/packages/utils/results.ts index c0d92781d..f9b4ad613 100644 --- a/packages/utils/results.ts +++ b/packages/utils/results.ts @@ -7,15 +7,12 @@ import { VariableWithValue, Typebot, ResultWithAnswersInput, - ResultWithAnswers, - InputBlockType, } from 'models' -import { isInputBlock, isDefined, byId, isNotEmpty } from './utils' +import { isInputBlock, isDefined, byId } from './utils' export const parseResultHeader = ( typebot: Pick, - linkedTypebots: Pick[] | undefined, - results: ResultWithAnswers[] = [] + linkedTypebots: Pick[] | undefined ): ResultHeaderCell[] => { const parsedGroups = [ ...typebot.groups, @@ -35,7 +32,6 @@ export const parseResultHeader = ( { label: 'Submitted at', id: 'date' }, ...inputsResultHeader, ...parseVariablesHeaders(parsedVariables, inputsResultHeader), - ...parseResultsFromPreviousBotVersions(results, inputsResultHeader), ] } @@ -172,32 +168,6 @@ const parseVariablesHeaders = ( return [...existingHeaders, newHeaderCell] }, []) -const parseResultsFromPreviousBotVersions = ( - results: ResultWithAnswers[], - existingInputResultHeaders: ResultHeaderCell[] -): ResultHeaderCell[] => - results - .flatMap((result) => result.answers) - .filter( - (answer) => - !answer.variableId && - existingInputResultHeaders.every( - (header) => header.id !== answer.blockId - ) && - isNotEmpty(answer.content) - ) - .map((answer) => ({ - id: answer.blockId, - label: `Deleted block`, - blocks: [ - { - id: answer.blockId, - groupId: answer.groupId, - }, - ], - blockType: InputBlockType.TEXT, - })) - export const parseAnswers = ( typebot: Pick,