import { prisma } from '../src/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 accountUuid = '99999999-1111-4111-8111-111111111111' const serviceAccountUuid = '99999999-2222-4111-8111-111111111111' await prisma.account.upsert({ where: { uuid: accountUuid }, create: { uuid: accountUuid, name: `Demo user ${logtoId}`, accountType: 'USER', description: 'Demo seed user account', }, update: { name: `Demo user ${logtoId}`, accountType: 'USER', description: 'Demo seed user account', }, }) await prisma.account.upsert({ where: { uuid: serviceAccountUuid }, create: { uuid: serviceAccountUuid, name: 'Demo logistics service', accountType: 'SERVICE', description: 'Demo seed service account', serviceInfo: { create: { slug: 'demo-logistics' }, }, }, update: { name: 'Demo logistics service', accountType: 'SERVICE', description: 'Demo seed service account', }, }) await prisma.serviceAccount.upsert({ where: { slug: 'demo-logistics' }, create: { slug: 'demo-logistics', accountUuid: serviceAccountUuid, }, update: { accountUuid: serviceAccountUuid, }, }) const operations = [ { code: 1001, name: 'demo.order.created', description: 'Demo order created' }, { code: 1002, name: 'demo.order.paid', description: 'Demo order paid' }, { code: 1003, name: 'demo.order.delivered', description: 'Demo order delivered' }, ] for (const operation of operations) { await prisma.operationCode.upsert({ where: { code: operation.code }, create: operation, update: operation, }) } console.log(`Seeded billing demo data for ${logtoId}`) await prisma.$disconnect()