feat: add pitch-deck service to core infrastructure
Migrated pitch-deck from breakpilot-pwa to breakpilot-core. Container: bp-core-pitch-deck on port 3012. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
57
pitch-deck/app/api/data/route.ts
Normal file
57
pitch-deck/app/api/data/route.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import { NextResponse } from 'next/server'
|
||||
import pool from '@/lib/db'
|
||||
|
||||
export const dynamic = 'force-dynamic'
|
||||
|
||||
export async function GET() {
|
||||
try {
|
||||
const client = await pool.connect()
|
||||
|
||||
try {
|
||||
const [
|
||||
companyRes,
|
||||
teamRes,
|
||||
financialsRes,
|
||||
marketRes,
|
||||
competitorsRes,
|
||||
featuresRes,
|
||||
milestonesRes,
|
||||
metricsRes,
|
||||
fundingRes,
|
||||
productsRes,
|
||||
] = await Promise.all([
|
||||
client.query('SELECT * FROM pitch_company LIMIT 1'),
|
||||
client.query('SELECT * FROM pitch_team ORDER BY sort_order'),
|
||||
client.query('SELECT * FROM pitch_financials ORDER BY year'),
|
||||
client.query('SELECT * FROM pitch_market ORDER BY id'),
|
||||
client.query('SELECT * FROM pitch_competitors ORDER BY id'),
|
||||
client.query('SELECT * FROM pitch_features ORDER BY sort_order'),
|
||||
client.query('SELECT * FROM pitch_milestones ORDER BY sort_order'),
|
||||
client.query('SELECT * FROM pitch_metrics ORDER BY id'),
|
||||
client.query('SELECT * FROM pitch_funding LIMIT 1'),
|
||||
client.query('SELECT * FROM pitch_products ORDER BY sort_order'),
|
||||
])
|
||||
|
||||
return NextResponse.json({
|
||||
company: companyRes.rows[0] || null,
|
||||
team: teamRes.rows,
|
||||
financials: financialsRes.rows,
|
||||
market: marketRes.rows,
|
||||
competitors: competitorsRes.rows,
|
||||
features: featuresRes.rows,
|
||||
milestones: milestonesRes.rows,
|
||||
metrics: metricsRes.rows,
|
||||
funding: fundingRes.rows[0] || null,
|
||||
products: productsRes.rows,
|
||||
})
|
||||
} finally {
|
||||
client.release()
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Database query error:', error)
|
||||
return NextResponse.json(
|
||||
{ error: 'Failed to load pitch data' },
|
||||
{ status: 500 }
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user