import { PrismaClient } from '@prisma/client' import { PrismaLibSql } from '@prisma/adapter-libsql' import 'dotenv/config' const adapter = new PrismaLibSql({ url: process.env.DATABASE_URL || 'file:./dev.db', }) const prisma = new PrismaClient({ adapter }) async function main() { const items = [ 'BackOne Lite', 'BackOne Pro', 'BackOne Gateway', 'BackOne Enterprise', 'BackOne Ultimate' ] console.log('Seeding initial items...') for (const itemName of items) { const existing = await prisma.item.findUnique({ where: { name: itemName } }) if (!existing) { await prisma.item.create({ data: { name: itemName, totalQuantity: 0, }, }) console.log(`Created item: ${itemName}`) } else { console.log(`Item ${itemName} already exists.`) } } // Create an initial super admin const existingAdmin = await prisma.user.findUnique({ where: { email: 'admin@backone.id' } }) if (!existingAdmin) { await prisma.user.create({ data: { name: 'Super Admin', email: 'admin@backone.id', password: 'password', // TODO: In production this should be hashed role: 'super_admin' } }) console.log('Created Super Admin (admin@backone.id / password)') } console.log('Seeding finished.') } main() .catch((e) => { console.error(e) process.exit(1) }) .finally(async () => { await prisma.$disconnect() })