feat: Phase 5+6 — Finanzplan Bridge + Financials-Slide Sync
- Adapter: fp_* Tabellen → FMResult Interface (60 Monate) - Compute-Endpoint: source=finanzplan delegiert an Finanzplan-Engine - useFinancialModel Hook: computeFromFinanzplan() + finanzplanResults - FinancialsSlide: Toggle "Szenario-Modell" vs "Finanzplan (Excel)" - Gruendungsdatum fix: EK+FK auf Aug (m8), Raumkosten ab Aug - Startup-Preisstaffel: <10 MA ab 3.600 EUR/Jahr, 14-Tage-Test Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,26 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import pool from '@/lib/db'
|
||||
import { computeFinanzplan } from '@/lib/finanzplan/engine'
|
||||
import { finanzplanToFMResults } from '@/lib/finanzplan/adapter'
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
try {
|
||||
const body = await request.json()
|
||||
const { scenarioId } = body
|
||||
const { scenarioId, source } = body
|
||||
|
||||
// If source=finanzplan, use the Finanzplan engine instead
|
||||
if (source === 'finanzplan') {
|
||||
try {
|
||||
// First run the Finanzplan compute engine
|
||||
await computeFinanzplan(pool, scenarioId || undefined)
|
||||
// Then adapt results to FMResult format
|
||||
const result = await finanzplanToFMResults(pool, scenarioId || undefined)
|
||||
return NextResponse.json(result)
|
||||
} catch (error) {
|
||||
console.error('Finanzplan compute error:', error)
|
||||
return NextResponse.json({ error: 'Finanzplan computation failed: ' + String(error) }, { status: 500 })
|
||||
}
|
||||
}
|
||||
|
||||
if (!scenarioId) {
|
||||
return NextResponse.json({ error: 'scenarioId is required' }, { status: 400 })
|
||||
|
||||
Reference in New Issue
Block a user