Files
Filamenteka/app/api/filaments/route.ts
DaX 58d91f78ab Fix Next.js API route for Amplify WEB_COMPUTE platform
- 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>
2025-06-19 00:38:50 +02:00

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 }
);
}
}