61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
![]() |
import { PrismaClient } from 'db'
|
||
|
import { Typebot } from 'models'
|
||
|
import { parseCreateTypebot } from 'utils/playwright/databaseActions'
|
||
|
import { join } from 'path'
|
||
|
import { parseTypebotToPublicTypebot } from 'utils/playwright/databaseHelpers'
|
||
|
import { readFileSync } from 'fs'
|
||
|
|
||
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||
|
require('dotenv').config({
|
||
|
override: true,
|
||
|
path: join(__dirname, `.env.local`),
|
||
|
})
|
||
|
|
||
|
const seedDatabase = async () => {
|
||
|
const prisma = new PrismaClient()
|
||
|
const data = JSON.parse(
|
||
|
readFileSync(join(__dirname, 'ladleTypebot.json')).toString()
|
||
|
) as Typebot
|
||
|
|
||
|
const ladleWorkspace = {
|
||
|
id: 'ladleWorkspace',
|
||
|
name: 'Ladle',
|
||
|
}
|
||
|
await prisma.workspace.upsert({
|
||
|
where: { id: ladleWorkspace.id },
|
||
|
update: {},
|
||
|
create: ladleWorkspace,
|
||
|
})
|
||
|
const ladleTypebot = parseCreateTypebot({
|
||
|
...data,
|
||
|
id: 'ladleTypebot',
|
||
|
folderId: undefined,
|
||
|
workspaceId: ladleWorkspace.id,
|
||
|
theme: {
|
||
|
...data.theme,
|
||
|
chat: {
|
||
|
...data.theme.chat,
|
||
|
hostAvatar: {
|
||
|
isEnabled: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}) as Typebot
|
||
|
const ladlePublicTypebot = parseTypebotToPublicTypebot(
|
||
|
ladleTypebot.id + 'Public',
|
||
|
ladleTypebot
|
||
|
)
|
||
|
await prisma.typebot.upsert({
|
||
|
where: { id: ladleTypebot.id },
|
||
|
update: ladleTypebot,
|
||
|
create: ladleTypebot,
|
||
|
})
|
||
|
await prisma.publicTypebot.upsert({
|
||
|
where: { id: ladlePublicTypebot.id },
|
||
|
update: ladlePublicTypebot,
|
||
|
create: ladlePublicTypebot,
|
||
|
})
|
||
|
}
|
||
|
|
||
|
seedDatabase().then()
|