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': '*'
}
});
});