import Surreal from 'surrealdb';

const db = new Surreal();

async function assignCorrectRoles() {
  try {
    await db.connect(process.env.SURREAL_URL || "wss://gentle-island-06di2pv2c9po3a8euttd1alkek.aws-euw1.surreal.cloud/rpc");
    await db.signin({
      username: process.env.SURREAL_USER || "rootuser",
      password: process.env.SURREAL_PASS || "n1n@S1mone",
    });
    await db.use({
      namespace: process.env.SURREAL_NAMESPACE || "neoad",
      database: process.env.SURREAL_DATABASE || "neodb",
    });

    console.log("✅ Connecté à SurrealDB Cloud\n");
    console.log("📝 Attribution des rôles corrects...\n");

    // Mapping des emails vers les rôles appropriés
    const roleAssignments = [
      { email: 'agence@neo-ad.com', role: 'agency' },
      { email: 'diffuseur@neo-ad.com', role: 'broadcaster' },
      { email: 'annonceur@neo-ad.com', role: 'advertiser' }
    ];

    for (const assignment of roleAssignments) {
      const [result] = await db.query<[any[]]>(`
        UPDATE user SET role = $role WHERE email = $email RETURN AFTER
      `, { email: assignment.email, role: assignment.role });

      if (result && result.length > 0) {
        console.log(`✓ ${assignment.email.padEnd(30)} → ${assignment.role}`);
      } else {
        console.log(`⚠ ${assignment.email.padEnd(30)} → Utilisateur non trouvé`);
      }
    }

    console.log("\n✅ Attribution des rôles terminée!");

    await db.close();
  } catch (error) {
    console.error('❌ Erreur:', error);
    process.exit(1);
  }
}

assignCorrectRoles();
