import { prisma } from '../dist/db.js' function requiredEnv(name: string): string { const value = process.env[name]?.trim() if (!value) throw new Error(`${name} is required`) return value } const logtoId = requiredEnv('DEMO_LOGTO_USER_ID') const teamName = process.env.DEMO_TEAM_NAME ?? 'Optovia Demo Client' const email = process.env.DEMO_USER_EMAIL ?? 'demo@optovia.ru' const phone = process.env.DEMO_USER_PHONE ?? '+79990000000' const firstName = process.env.DEMO_USER_FIRST_NAME ?? 'Demo' const lastName = process.env.DEMO_USER_LAST_NAME ?? 'Client' const applicationUuid = '88888888-1111-4111-8111-111111111111' const profileUuid = '88888888-2222-4111-8111-111111111111' const application = await prisma.kYCApplication.findUnique({ where: { uuid: applicationUuid } }) let detailsId = application?.objectId ?? null if (detailsId === null) { const details = await prisma.kYCDetailsRussia.create({ data: { companyName: teamName, companyFullName: `LLC ${teamName}`, inn: '7700000000', kpp: '770001001', ogrn: '1027700000000', address: 'Demo legal address, Moscow', bankName: 'Demo Bank', bik: '044525225', correspondentAccount: '30101810400000000225', }, }) detailsId = details.id } else { await prisma.kYCDetailsRussia.update({ where: { id: detailsId }, data: { companyName: teamName, companyFullName: `LLC ${teamName}`, inn: '7700000000', kpp: '770001001', ogrn: '1027700000000', address: 'Demo legal address, Moscow', bankName: 'Demo Bank', bik: '044525225', correspondentAccount: '30101810400000000225', }, }) } await prisma.kYCApplication.upsert({ where: { uuid: applicationUuid }, create: { uuid: applicationUuid, userId: logtoId, teamName, countryCode: 'RU', workflowStatus: 'approved', score: 92, contactPerson: `${firstName} ${lastName}`, contactEmail: email, contactPhone: phone, objectId: detailsId, approvedBy: logtoId, approvedAt: new Date(), }, update: { userId: logtoId, teamName, countryCode: 'RU', workflowStatus: 'approved', score: 92, contactPerson: `${firstName} ${lastName}`, contactEmail: email, contactPhone: phone, objectId: detailsId, approvedBy: logtoId, approvedAt: new Date(), }, }) await prisma.kYCProfile.upsert({ where: { uuid: profileUuid }, create: { uuid: profileUuid, userId: logtoId, teamName, countryCode: 'RU', workflowStatus: 'approved', score: 92, contactPerson: `${firstName} ${lastName}`, contactEmail: email, contactPhone: phone, objectId: detailsId, approvedBy: logtoId, approvedAt: new Date(), }, update: { userId: logtoId, teamName, countryCode: 'RU', workflowStatus: 'approved', score: 92, contactPerson: `${firstName} ${lastName}`, contactEmail: email, contactPhone: phone, objectId: detailsId, approvedBy: logtoId, approvedAt: new Date(), }, }) console.log(`Seeded KYC demo data for ${logtoId}: application ${applicationUuid}`) await prisma.$disconnect()