Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | import { PrismaClient } from "@prisma/client"; const prisma = new PrismaClient(); async function ensureTrackTypes() { await prisma.trackType.upsert({ where: { code: "ROAD" }, create: { code: "ROAD", label: "Шоссе" }, update: { label: "Шоссе" }, }); await prisma.trackType.upsert({ where: { code: "MTB" }, create: { code: "MTB", label: "МТБ" }, update: { label: "МТБ" }, }); } async function ensureRouteLayouts() { await prisma.routeLayout.upsert({ where: { code: "CIRCULAR" }, create: { code: "CIRCULAR", label: "Круговой" }, update: { label: "Круговой" }, }); await prisma.routeLayout.upsert({ where: { code: "LINEAR" }, create: { code: "LINEAR", label: "Линейный" }, update: { label: "Линейный" }, }); } /** E2e autotest admin: Firebase uid + role=admin в user_profiles (только если задан SEED_E2E_ADMIN_UID). */ async function ensureE2eAdmin() { const uid = process.env.SEED_E2E_ADMIN_UID?.trim(); if (!uid) return; const email = process.env.SEED_E2E_ADMIN_EMAIL?.trim() || null; await prisma.userProfile.upsert({ where: { firebaseUid: uid }, create: { firebaseUid: uid, ...(email ? { email } : {}), role: "admin", }, update: { role: "admin", ...(email ? { email } : {}), }, }); } async function main() { await ensureTrackTypes(); await ensureRouteLayouts(); await ensureE2eAdmin(); } void main() .then(async () => { await prisma.$disconnect(); }) .catch(async (err) => { console.error(err); await prisma.$disconnect(); process.exit(1); }); |