diff --git a/www-api/app/Controllers/WrenchWallet.php b/www-api/app/Controllers/WrenchWallet.php index b5fa3685..41b19a25 100644 --- a/www-api/app/Controllers/WrenchWallet.php +++ b/www-api/app/Controllers/WrenchWallet.php @@ -5,9 +5,118 @@ namespace App\Controllers; class WrenchWallet extends BaseController { - public function apigate(){ - return ['aaa'=>'bbbbb']; + public function __construct() + { + $this->request = $request = \Config\Services::request(); + } + public function index() + { + return []; } + public function apigate(){ + log_message('critical', "0001"); + header('Access-Control-Allow-Origin: *'); + log_message('critical', "WrenchBanners Path GATE 001"); + $call_backend = true; + + header("Access-Control-Allow-Headers: Origin, X-API-KEY, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Access-Control-Allow-Headers, Authorization, observe, enctype, Content-Length, X-Csrf-Token"); + log_message('critical', "0003"); + header("Access-Control-Allow-Methods: GET, PUT, POST, DELETE, PATCH, OPTIONS"); + header("Access-Control-Allow-Credentials: true"); + header("Access-Control-Max-Age: 3600"); + header('content-type: application/json; charset=utf-8'); + $method = $_SERVER['REQUEST_METHOD']; + + $ip_loc = $this->getIpData(); + + + + if ($method == "OPTIONS") { + header("HTTP/1.1 200 OK CORS"); + log_message('critical', " WrenchJobs()-> OPTIONS DIE*****" ); + die(); + } + + //$request = service('request'); + // what is the endpoint + $uri = urldecode(current_url(true)); + $findme = '?'; + $pos = strpos($uri, $findme); + if ($pos > 5) { + $uri = substr($uri, 0, $pos); + } + log_message('critical', "API-GATE URI -> ".$uri ); + $pieces = explode('/', $uri); + $psc = count($pieces); + + $endpoint = $psc > 0 ? $pieces[$psc - 1] : ''; + log_message('critical', "Enpoint-> ".$endpoint ); + + $endpoints = $this->endPointList(); + $out = array(); + $res1 = []; + if (array_key_exists($endpoint, $endpoints)) { + } else { + http_response_code(404); + // tell the user product does not exist + echo json_encode([ + 'message' => 'Endpoint not found.', + 'URI' => $uri, + ]); + } + + $current_env = $this->getSiteConfigurations("system.live"); + $primary_image_sever = $this->getSiteConfigurations("system.primary_image_sever"); + $server_tag = $this->getSiteConfigurations("system.server_tag"); + $micro_service_net1 = $this->getSiteConfigurations("system.micro_service_net1"); //"10.10.10.120"; + + // echo "EXYTACT INPUT DATA HERE"; + $raw_json = file_get_contents('php://input'); + $raw_array = json_decode($raw_json, true); + $local_out =[]; + if ($_SERVER['REQUEST_METHOD'] == 'GET') { + log_message('critical', "Enpoint LOC2 HERE -> ".$endpoint ); + $get_param = $_GET['reqData'] ?? null; + $raw_array = ($get_param!=null) ? json_decode($get_param, true):[]; + } + + $in = $raw_array; + + $in["loc"] = $_SERVER["REMOTE_ADDR"]; + $out = array(); + + + $res1 = []; + if (!array_key_exists($endpoint, $this->sessionExcludedList())) { + // TOKEN VERIFICATION WILL GAPPEN + } + + switch($endpoint) { + case 'familybanners': + $in["action"] = 'familybanners'; //WRENCHBOARD_ACCOUNT_JOBLIST; + break; + } + + if ( $call_backend == true && $in["action"] !='' ){ + $local_url = "http://".$micro_service_net1.":3037/redeemoptions"; + $out = $this->APIcall('GET', $local_url, $in); + } + else + { + $out = $local_out; + } + + $this->doCacheStep($in, $out); + $final_out = $out; // start from all out + $final_out["environment"] = $current_env + 0; // force convert to interger = $this->getSiteConfigurations("system.live"); + $final_out["session_image_server"] = $primary_image_sever; // ( $final_out["environment"] > 0 )? 'https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1/getmedia/' : "https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1/getmedia/"; + $final_out["server_tag"] = $server_tag; + $final_out["language"] = "en"; + $final_out["ip_loc"] = $ip_loc; + return json_encode( $final_out ); + } + + } \ No newline at end of file