import { getNocoDbConfiguration } from "../utils/nocodb";
import { requireAuth } from "../utils/auth";

export default defineEventHandler(async (event) => {
  console.log('[unlink-berth-recommendations] Request received');

  // Check authentication (x-tag header OR Keycloak session)
  await requireAuth(event);

  const body = await readBody(event);
  const { interestId, berthIds } = body;

  if (!interestId || !berthIds || !Array.isArray(berthIds)) {
    throw createError({ 
      statusCode: 400, 
      statusMessage: "interestId and berthIds array are required" 
    });
  }

  const config = getNocoDbConfiguration();
  const interestsTableId = "mbs9hjauug4eseo";
  const berthRecommendationsLinkFieldId = "cgthyq2e95ajc52"; // Berth Recommendations field
  
  // Format the berth IDs for the API
  const berthRecords = berthIds.map(id => ({ Id: id }));
  
  const result = await $fetch(
    `${config.url}/api/v2/tables/${interestsTableId}/links/${berthRecommendationsLinkFieldId}/records/${interestId}`,
    {
      method: 'DELETE',
      headers: {
        "xc-token": config.token,
      },
      body: berthRecords,
    }
  );
  
  return result;
});
