import { NextRequest, NextResponse } from 'next/server';
import { serverApiClient } from '@/utils/serverApiClient';

/**
 * POST /api/vision/replicate/:orderId
 * Re-create a vision board from existing order
 * Params: orderId - The order ID to replicate
 */
export async function POST(
  request: NextRequest,
  { params }: { params: Promise<{ orderId: string }> }
) {
  try {
    const { orderId } = await params;

    if (!orderId) {
      return NextResponse.json(
        { message: 'Order ID is required' },
        { status: 400 }
      );
    }

    const response = await serverApiClient(`co-creation/replicate/${orderId}`, {
      method: 'POST',
      cache: 'no-store',
    });

    if (!response.success) {
      return NextResponse.json(
        { message: response.message || 'Failed to re-create vision board' },
        { status: 400 }
      );
    }

    return NextResponse.json({
      success: true,
      data: response.data,
      message: 'Vision board re-created successfully',
    });
  } catch (error: any) {
    console.error('Error replicating vision board:', error);
    return NextResponse.json(
      { message: error.message || 'Internal server error' },
      { status: 500 }
    );
  }
}
