<?php

namespace App\Services;

use Illuminate\Support\Facades\Http;

class LocationService
{
    protected $accessToken;

    public function __construct()
    {
        $this->accessToken = env('IPINFO_ACCESS_TOKEN'); 
    }


    public function getCountryCodeByIp($ip)
    {
        $url = "https://ipinfo.io/{$ip}?token=336378692543a5";

        $response = Http::get($url);

        if ($response->successful()) {
            $data = $response->json();
            return $data['country'] ?? null; 
        }

        return null; 
    }
  

    public function getDialingCode($countryCode)
    {
        $dialingCodes = [
            'US' => '+1',
            'IN' => '+91',
            'GB' => '+44',
            'AU' => '+61',
            'DE'  => '+49',

        ];

        return $dialingCodes[$countryCode] ?? null; 
    }


    function getPublicIP() {
        $url = "http://api.ipify.org?format=json";
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response = curl_exec($ch);
        curl_close($ch);
    
        $data = json_decode($response, true);
    
        return isset($data['ip']) ? $data['ip'] : 'Unknown';
    }
}
