29 lines
1.0 KiB
Diff
29 lines
1.0 KiB
Diff
--- a/src/lib/catalog.ts
|
|
+++ b/src/lib/catalog.ts
|
|
@@ -1,3 +1,8 @@
|
|
import { prisma } from "@/lib/db";
|
|
+
|
|
+// During `next build`, Next evaluates generateStaticParams/generateMetadata for
|
|
+// each route, which calls these DB readers. No database exists in the sandboxed
|
|
+// Nix build, so short-circuit them here; the live site fetches real rows/request.
|
|
+const BUILD = process.env.NEXT_PHASE === "phase-production-build";
|
|
|
|
export type TierWithFeatures = {
|
|
@@ -33,2 +38,3 @@
|
|
export async function getActiveTiers(): Promise<TierWithFeatures[]> {
|
|
+ if (BUILD) return [];
|
|
const tiers = await prisma.tier.findMany({
|
|
@@ -45,4 +51,5 @@
|
|
export async function getTierBySlug(
|
|
slug: string,
|
|
): Promise<TierWithFeatures | null> {
|
|
+ if (BUILD) return null;
|
|
const tier = await prisma.tier.findUnique({
|
|
@@ -58,2 +65,3 @@
|
|
export async function getDocPages() {
|
|
+ if (BUILD) return [];
|
|
return prisma.docPage.findMany({
|
|
@@ -65,2 +73,3 @@
|
|
export async function getDocBySlug(slug: string) {
|
|
+ if (BUILD) return null;
|
|
return prisma.docPage.findUnique({ where: { slug } });
|