Skip to content

Commit 9bff952

Browse files
author
Deepak Pandey
committed
Fix final Supabase build errors in certificates routes
- Fix app/api/admin/certificates/participants/route.ts: Convert module-level Supabase client to lazy initialization - Fix app/api/admin/certificates/data/route.ts: Convert module-level Supabase client to lazy initialization - This resolves the final 'supabaseUrl is required' build errors - Build now completes successfully with all 142 pages generated - All Supabase build errors are now completely resolved
1 parent a197138 commit 9bff952

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

app/api/admin/certificates/data/route.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import { NextResponse } from 'next/server';
22
import { createClient } from '@supabase/supabase-js';
33

4-
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!;
5-
const supabaseServiceKey = process.env.SUPABASE_SERVICE_ROLE_KEY!;
6-
7-
const supabaseAdmin = createClient(supabaseUrl, supabaseServiceKey);
4+
// Create Supabase client function to avoid build-time initialization
5+
function getSupabaseClient() {
6+
return createClient(
7+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
8+
process.env.SUPABASE_SERVICE_ROLE_KEY!
9+
);
10+
}
811

912
export async function GET() {
1013
try {
14+
const supabaseAdmin = getSupabaseClient();
1115
// Fetch certificates and templates
1216
const [certificates, templates] = await Promise.all([
1317
supabaseAdmin

app/api/admin/certificates/participants/route.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import { NextResponse } from 'next/server';
22
import { createClient } from '@supabase/supabase-js';
33

4-
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!;
5-
const supabaseServiceKey = process.env.SUPABASE_SERVICE_ROLE_KEY!;
6-
7-
const supabaseAdmin = createClient(supabaseUrl, supabaseServiceKey);
4+
// Create Supabase client function to avoid build-time initialization
5+
function getSupabaseClient() {
6+
return createClient(
7+
process.env.NEXT_PUBLIC_SUPABASE_URL!,
8+
process.env.SUPABASE_SERVICE_ROLE_KEY!
9+
);
10+
}
811

912
export async function GET() {
1013
try {
14+
const supabaseAdmin = getSupabaseClient();
1115
// Fetch all types of participants
1216
const [testAttempts, testRegistrations, hackathons, events] = await Promise.all([
1317
// Test attempts (including in-progress ones)

0 commit comments

Comments
 (0)