import { serve } from 'https://deno.land/std@0.168.0/http/server.ts' import { corsHeaders } from '../_shared/cors.ts' import { createClient } from 'https://esm.sh/@supabase/supabase-js@2' serve(async (req) => { // Handle CORS if (req.method === 'OPTIONS') { return new Response('ok', { headers: corsHeaders }) } if (req.method === 'GET') { return new Response('ok', { headers: corsHeaders }) } try { const { action, selectedService, selectedCountry } = await req.json() const smsActivateApiKey = Deno.env.get('SMS_ACTIVATE_API_KEY') if (!smsActivateApiKey) { throw new Error('Missing platform credentials') } if(action != "getActiveActivations" && action != "getNumber"){ throw new Error('Invalid action') } if(action === "getNumber" && (!selectedService || !selectedCountry)){ throw new Error('Missing required fields') } let apiResponse; const myHeaders = new Headers(); // myHeaders.append("Cookie", "__cf_bm=ZwMogfNq713s0IM1QbuvaGuJQK0rxRP8AVLa.yU0qYQ-1741017601-1.0.1.1-5KsvD93DDrImkQ.Inrh49z9A_TC_O44Tss_PIAnyp.x6Qfip.qoVL1pWB.MYalVT0oDPalmlcTnleNWGxVPUnGWkqig9lCl6WC.cZPhAxVg"); const requestOptions = { method: "GET", headers: myHeaders, redirect: "follow" }; switch (action) { case "getActiveActivations": await fetch(`https://api.sms-activate.ae/stubs/handler_api.php?api_key=${smsActivateApiKey}&action=getActiveActivations`, requestOptions) .then((response) => response.text()) .then((result) => apiResponse = result) .catch((error) => console.error(error)); break; case "getNumber": const apiUrl = `https://api.sms-activate.ae/stubs/handler_api.php?api_key=${smsActivateApiKey}&action=getNumber&service=${selectedService}&operator=any&country=${selectedCountry}&maxPrice=0.2250`; await fetch(apiUrl, requestOptions) .then((response) => response.text()) .then((result) => (apiResponse = result)) .catch((error) => console.error(error)); break; default: break; } return new Response(apiResponse, { headers: { ...corsHeaders, 'Content-Type': 'application/json' }, status: 200, }) } catch (error) { return new Response(JSON.stringify({ error: error.message }), { headers: { ...corsHeaders, 'Content-Type': 'application/json' }, status: 400, }) } })