import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs';
import { cookies } from 'next/headers';
import { NextRequest, NextResponse } from 'next/server';

export async function PATCH(
  request: NextRequest,
  { params }: { params: { id: string } }
) {
  try {
    const supabase = createRouteHandlerClient({ cookies });
    
    // Vérifier l'authentification
    const { data: { session } } = await supabase.auth.getSession();
    if (!session) {
      return NextResponse.json({ error: 'Non authentifié' }, { status: 401 });
    }

    const payslipId = params.id;
    const body = await request.json();
    const { transfer_done } = body;

    if (typeof transfer_done !== 'boolean') {
      return NextResponse.json(
        { error: 'Le champ transfer_done doit être un booléen' },
        { status: 400 }
      );
    }

    // Mettre à jour la fiche de paie
    const { data, error } = await supabase
      .from('payslips')
      .update({ 
        transfer_done,
        transfer_done_at: transfer_done ? new Date().toISOString() : null
      })
      .eq('id', payslipId)
      .select()
      .single();

    if (error) {
      console.error('Erreur mise à jour payslip:', error);
      return NextResponse.json(
        { error: 'Erreur lors de la mise à jour' },
        { status: 500 }
      );
    }

    return NextResponse.json({ success: true, data });
  } catch (error) {
    console.error('Erreur API virements-salaires PATCH:', error);
    return NextResponse.json(
      { error: 'Erreur serveur' },
      { status: 500 }
    );
  }
}
