Skip to content

Commit

Permalink
🐛 (results) Fix results still appearing when deleted
Browse files Browse the repository at this point in the history
  • Loading branch information
baptisteArno authored and jmgoncalves97 committed Jan 17, 2025
1 parent bdbd51e commit c406e57
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 36 deletions.
4 changes: 2 additions & 2 deletions apps/builder/src/features/results/ResultsProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export const getResultsProcedure = authenticatedProcedure
where: {
typebotId: typebot.id,
hasStarted: true,
isArchived: false,
},
orderBy: {
createdAt: 'desc',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
},
}),
Expand Down
4 changes: 2 additions & 2 deletions packages/db/mysql/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
34 changes: 2 additions & 32 deletions packages/utils/results.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<Typebot, 'groups' | 'variables'>,
linkedTypebots: Pick<Typebot, 'groups' | 'variables'>[] | undefined,
results: ResultWithAnswers[] = []
linkedTypebots: Pick<Typebot, 'groups' | 'variables'>[] | undefined
): ResultHeaderCell[] => {
const parsedGroups = [
...typebot.groups,
Expand All @@ -35,7 +32,6 @@ export const parseResultHeader = (
{ label: 'Submitted at', id: 'date' },
...inputsResultHeader,
...parseVariablesHeaders(parsedVariables, inputsResultHeader),
...parseResultsFromPreviousBotVersions(results, inputsResultHeader),
]
}

Expand Down Expand Up @@ -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<Typebot, 'groups' | 'variables'>,
Expand Down

0 comments on commit c406e57

Please sign in to comment.