Supabase Edge Fuction :

				
					import { serve } from 'https://deno.land/std/http/server.ts';
import { createClient } from 'https://esm.sh/@supabase/supabase-js';
serve(async (req)=>{
  // Handle preflight OPTIONS request
  if (req.method === 'OPTIONS') {
    return new Response(null, {
      status: 204,
      headers: {
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Methods': 'POST, OPTIONS',
        'Access-Control-Allow-Headers': 'Content-Type, Authorization',
        'Access-Control-Max-Age': '86400'
      }
    });
  }
  const supabase = createClient(Deno.env.get('SUPABASE_URL'), Deno.env.get('SUPABASE_SERVICE_ROLE_KEY'));
  const { id } = await req.json();
  if (!id) {
    return new Response(JSON.stringify({
      success: false,
      error: 'Missing user ID.'
    }), {
      status: 400,
      headers: {
        'Access-Control-Allow-Origin': '*'
      }
    });
  }
  const { error } = await supabase.auth.admin.deleteUser(id);
  if (error) {
    return new Response(JSON.stringify({
      success: false,
      error: error.message
    }), {
      status: 400,
      headers: {
        'Access-Control-Allow-Origin': '*'
      }
    });
  }
  return new Response(JSON.stringify({
    success: true
  }), {
    status: 200,
    headers: {
      'Access-Control-Allow-Origin': '*'
    }
  });
});

				
			

Flutterflow Custom Action :

				
					import 'dart:convert';
import 'package:http/http.dart' as http;

Future<bool> deleteUserById(String userId, String jwtToken) async {
  final url = Uri.parse(
      'edge_function_url');

  final response = await http.post(
    url,
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer $jwtToken',
    },
    body: jsonEncode({'id': userId}),
  );

  if (response.statusCode == 200) {
    return true;
  } else {
    print('Delete failed: ${response.body}');
    return false;
  }
}