Files
WrenchBoradWeb/www-api/app/Controllers/WrenchJobs.php
T
CHIEFSOFT\ameye 9fe763caff Wrencg Jobs
2024-02-24 18:42:35 -05:00

148 lines
5.3 KiB
PHP

<?php
namespace App\Controllers;
class WrenchJobs extends BaseController
{
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', "MainApi 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");
// 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["loc"] = $_SERVER["REMOTE_ADDR"];
$out = array();
$res1 = [];
if (!array_key_exists($endpoint, $this->sessionExcludedList())) {
// TOKEN VERIFICATION WILL GAPPEN
}
switch($endpoint) {
case 'getjobsdata':
$in["action"] = 'marketjobs'; //WRENCHBOARD_ACCOUNT_JOBLIST;
break;
}
if ( $call_backend == true && $in["action"] !='' ){
// $wrenchboard = new \App\Models\BackendModel();
$ret = $this->wrenchboard_api($in, $out);
$out['internal_return'] = $ret;
}
else
{
$out = $local_out;
}
$this->doCacheStep($in, $out);
$final_out = ( new \App\Models\ResultFormatter() )->processOutJson($in, $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 );
}
public function wrenchboard_api($in, &$out = array(),$pathWay='') {
$ret = 0;
$local_url = "http://10.10.10.120:3033/marketjobs";
$url = $local_url ; // ."/".$urlPath; //"/generics";
$data = $in;
$content = json_encode($data);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type" => "application/json"));
curl_setopt($curl, CURLOPT_POST, false); // true to make POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($status != 200) {
echo ("Error: call to URL $url failed with status $status, response $json_response, | curl_error " . curl_error($curl) . ", | curl_errno " . curl_errno($curl));
}
curl_close($curl);
$response = json_decode($json_response, true);
$out = $response;
return $response["internal_return"];
}
}