Closes #993 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a detailed explanation page for the "Remember user" setting in the app documentation. - Introduced persistence of chat state across sessions, with options for local or session storage. - Enhanced bot functionality to store and retrieve initial chat replies and manage bot open state with improved storage handling. - Added a new callback for chat state persistence to bot component props. - **Improvements** - Updated the general settings form to clarify the description of the "Remember user" feature. - Enhanced custom CSS handling and progress value persistence in bot components. - Added conditional transition disabling in various components for smoother user experiences. - Simplified the handling of `onTransitionEnd` across multiple bubble components. - **Refactor** - Renamed `inputIndex` to `chunkIndex` or `index` in various components for consistency. - Removed unused ESLint disable comments related to reactivity rules. - Adjusted import statements and cleaned up code across several files. - **Bug Fixes** - Fixed potential issues with undefined callbacks by introducing optional chaining in component props. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
28 lines
634 B
TypeScript
28 lines
634 B
TypeScript
import prisma from '@typebot.io/lib/prisma'
|
|
import { Answer, Result } from '@typebot.io/schemas'
|
|
|
|
type Props = {
|
|
id: string
|
|
}
|
|
export const findResult = ({ id }: Props) =>
|
|
prisma.result.findFirst({
|
|
where: { id, isArchived: { not: true } },
|
|
select: {
|
|
id: true,
|
|
variables: true,
|
|
hasStarted: true,
|
|
answers: {
|
|
select: {
|
|
content: true,
|
|
blockId: true,
|
|
variableId: true,
|
|
},
|
|
},
|
|
},
|
|
}) as Promise<
|
|
| (Pick<Result, 'id' | 'variables' | 'hasStarted'> & {
|
|
answers: Pick<Answer, 'content' | 'blockId' | 'variableId'>[]
|
|
})
|
|
| null
|
|
>
|