2
0

♻️ Export bot-engine code into its own package

This commit is contained in:
Baptiste Arnaud
2023-09-20 15:26:52 +02:00
parent 797685aa9d
commit 7d57e8dd06
242 changed files with 645 additions and 639 deletions

View File

@@ -0,0 +1,11 @@
import { isNotDefined } from '@typebot.io/lib/utils'
export const formatLogDetails = (details: unknown): string | null => {
if (isNotDefined(details)) return null
if (details instanceof Error) return details.toString()
try {
return JSON.stringify(details, null, 2).substring(0, 1000)
} catch {
return null
}
}

View File

@@ -0,0 +1,11 @@
import { saveLog } from './saveLog'
export const saveErrorLog = ({
resultId,
message,
details,
}: {
resultId: string | undefined
message: string
details?: unknown
}) => saveLog({ status: 'error', resultId, message, details })

View File

@@ -0,0 +1,21 @@
import prisma from '@typebot.io/lib/prisma'
import { formatLogDetails } from './helpers/formatLogDetails'
type Props = {
status: 'error' | 'success' | 'info'
resultId: string | undefined
message: string
details?: unknown
}
export const saveLog = ({ status, resultId, message, details }: Props) => {
if (!resultId || resultId === 'undefined') return
return prisma.log.create({
data: {
resultId,
status,
description: message,
details: formatLogDetails(details) as string | null,
},
})
}

View File

@@ -0,0 +1,11 @@
import { saveLog } from './saveLog'
export const saveSuccessLog = ({
resultId,
message,
details,
}: {
resultId: string | undefined
message: string
details?: unknown
}) => saveLog({ status: 'success', resultId, message, details })