Adds scripts to seed scenario data, create Proclamations, snapshot schedules, drive the Kiosk-facing HTTP endpoints, and an opt-in (P5_INTEGRATION=1) Vitest spec exercising create/type/copy against a scratch database. The integration spec is skipped by default so the normal suite needs no DB.
22 lines
782 B
TypeScript
22 lines
782 B
TypeScript
import 'dotenv/config';
|
|
import pg from 'pg';
|
|
import { PrismaPg } from '@prisma/adapter-pg';
|
|
import { PrismaClient } from '../src/lib/generated/prisma/client';
|
|
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
|
|
const prisma = new PrismaClient({ adapter: new PrismaPg(pool) });
|
|
const schedules = await prisma.schedule.findMany({ include: { blocks: true } });
|
|
const keys = await prisma.licenseKey.findMany({ select: { key: true, systemName: true } });
|
|
console.log(
|
|
JSON.stringify({
|
|
scheduleCount: schedules.length,
|
|
blockCount: schedules.reduce((n, s) => n + s.blocks.length, 0),
|
|
types: schedules.map((s) => s.type),
|
|
names: keys
|
|
.filter((k) => k.systemName)
|
|
.map((k) => k.systemName)
|
|
.sort()
|
|
})
|
|
);
|
|
await prisma.$disconnect();
|
|
await pool.end();
|