This commit is contained in:
+2
-1
@@ -7,7 +7,8 @@
|
|||||||
"dev": "tsx watch src/index.ts",
|
"dev": "tsx watch src/index.ts",
|
||||||
"build": "prisma generate && tsc",
|
"build": "prisma generate && tsc",
|
||||||
"start": "prisma migrate deploy && node dist/index.js",
|
"start": "prisma migrate deploy && node dist/index.js",
|
||||||
"prisma:migrate": "prisma migrate dev"
|
"prisma:migrate": "prisma migrate dev",
|
||||||
|
"seed:demo": "tsx scripts/seed-demo.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fastify/cors": "^11.2.0",
|
"@fastify/cors": "^11.2.0",
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
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()
|
||||||
Reference in New Issue
Block a user