#!/usr/bin/env tsx
/**
 * Script pour supprimer les positions de signature en cache
 * Usage: npx tsx scripts/clear-sign-positions.ts [request_id]
 */

import { config } from 'dotenv';
import { createClient } from '@supabase/supabase-js';
import * as path from 'path';

// Charger les variables d'environnement depuis .env.local
config({ path: path.join(process.cwd(), '.env.local') });

const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!;
const supabaseServiceKey = process.env.SUPABASE_SERVICE_ROLE_KEY!;

if (!supabaseUrl || !supabaseServiceKey) {
  console.error('❌ Variables d\'environnement manquantes');
  console.error('NEXT_PUBLIC_SUPABASE_URL:', !!supabaseUrl);
  console.error('SUPABASE_SERVICE_ROLE_KEY:', !!supabaseServiceKey);
  process.exit(1);
}

const supabase = createClient(supabaseUrl, supabaseServiceKey);

async function clearPositions(requestId?: string) {
  if (requestId) {
    console.log(`Suppression des positions pour la demande: ${requestId}`);
    const { data, error } = await supabase
      .from('sign_positions')
      .delete()
      .eq('request_id', requestId)
      .select();

    if (error) {
      console.error('❌ Erreur:', error);
      process.exit(1);
    }

    console.log(`✅ ${data?.length || 0} position(s) supprimée(s)`);
  } else {
    // Supprimer toutes les positions
    console.log('Suppression de TOUTES les positions...');
    const { data, error } = await supabase
      .from('sign_positions')
      .delete()
      .neq('id', '00000000-0000-0000-0000-000000000000')
      .select();

    if (error) {
      console.error('❌ Erreur:', error);
      process.exit(1);
    }

    console.log(`✅ ${data?.length || 0} position(s) supprimée(s)`);
  }
}

const requestId = process.argv[2];
clearPositions(requestId);
