UNPKG

lightning-auth-and-payment

Version:

Lightning Network authentication and payment processing library for modern web applications

98 lines (87 loc) 2.35 kB
import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); async function main() { console.log('🌱 Seeding database...'); // Create sample users const user1 = await prisma.user.upsert({ where: { lnPubkey: '03f1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef' }, update: {}, create: { lnPubkey: '03f1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', }, }); const user2 = await prisma.user.upsert({ where: { lnPubkey: '02a9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba' }, update: {}, create: { lnPubkey: '02a9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba', }, }); // Create sample orders const order1 = await prisma.order.create({ data: { userId: user1.id, status: 'PAID', totalSats: 10000, items: { create: [ { productId: 'book-1', quantity: 1, priceSats: 10000, metadata: JSON.stringify({ title: 'Bitcoin: A Peer-to-Peer Electronic Cash System' }), }, ], }, }, }); const order2 = await prisma.order.create({ data: { userId: user2.id, status: 'PENDING', totalSats: 5000, items: { create: [ { productId: 'book-2', quantity: 1, priceSats: 5000, metadata: JSON.stringify({ title: 'Mastering Bitcoin' }), }, ], }, }, }); // Create sample payments await prisma.payment.create({ data: { userId: user1.id, orderId: order1.id, amountSats: 10000, status: 'PAID', description: 'Bitcoin: A Peer-to-Peer Electronic Cash System', paidAt: new Date(), }, }); await prisma.payment.create({ data: { userId: user2.id, orderId: order2.id, amountSats: 5000, status: 'PENDING', description: 'Mastering Bitcoin', }, }); console.log('✅ Database seeded successfully!'); console.log(`👤 Created ${2} users`); console.log(`📦 Created ${2} orders`); console.log(`💳 Created ${2} payments`); } main() .catch((e) => { console.error('❌ Error seeding database:', e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });