- Add .env.production for Amplify environment variable mapping - Update artifacts configuration for WEB_COMPUTE platform - Add explicit nodejs runtime for API route - Enable serverActions in Next.js config - Add debugging output for environment variables 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
import { NextResponse } from 'next/server';
|
|
import { fetchFromConfluence } from '../../../src/server/confluence';
|
|
|
|
export const runtime = 'nodejs';
|
|
|
|
export async function GET() {
|
|
try {
|
|
// Get environment variables from server-side only
|
|
const env = {
|
|
CONFLUENCE_API_URL: process.env.CONFLUENCE_API_URL,
|
|
CONFLUENCE_TOKEN: process.env.CONFLUENCE_TOKEN,
|
|
CONFLUENCE_PAGE_ID: process.env.CONFLUENCE_PAGE_ID,
|
|
};
|
|
|
|
// Validate environment variables
|
|
if (!env.CONFLUENCE_API_URL || !env.CONFLUENCE_TOKEN || !env.CONFLUENCE_PAGE_ID) {
|
|
console.error('Missing Confluence environment variables');
|
|
return NextResponse.json(
|
|
{ error: 'Server configuration error' },
|
|
{ status: 500 }
|
|
);
|
|
}
|
|
|
|
const filaments = await fetchFromConfluence(env);
|
|
|
|
return NextResponse.json(filaments, {
|
|
headers: {
|
|
'Cache-Control': 'public, s-maxage=300, stale-while-revalidate=600',
|
|
},
|
|
});
|
|
} catch (error) {
|
|
console.error('API Error:', error);
|
|
// Never expose internal error details to client
|
|
return NextResponse.json(
|
|
{ error: 'Failed to fetch filaments' },
|
|
{ status: 500 }
|
|
);
|
|
}
|
|
} |