From f01688f09e9c4692de6a675d23ff9a9457549d8b Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sat, 15 Jul 2023 23:13:25 -0400 Subject: [PATCH] WrenchMedia Path --- www-api/app/Config/Constants.php | 1 + www-api/app/Config/Routes.php | 2 +- www-api/app/Controllers/WrenchMedia.php | 119 ++++++++++++++++++++++++ 3 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 www-api/app/Controllers/WrenchMedia.php diff --git a/www-api/app/Config/Constants.php b/www-api/app/Config/Constants.php index 9c4015c2..e42e6089 100644 --- a/www-api/app/Config/Constants.php +++ b/www-api/app/Config/Constants.php @@ -141,6 +141,7 @@ define('CONTRACT_REQUEST_CANCEL', 3); define('CONTRACT_ACCEPT_COMPLETE', 5); define('CONTRACT_REJECT_COMPLETE', 1); +const WRENCHBOARD_GET_MEDIA = 650; //************************************************************** define('WRENCHBOARD_BKO_START', 10000); diff --git a/www-api/app/Config/Routes.php b/www-api/app/Config/Routes.php index 3cb04765..cb5a40de 100644 --- a/www-api/app/Config/Routes.php +++ b/www-api/app/Config/Routes.php @@ -188,7 +188,7 @@ $routes->post('/en/wrench/api/v1/confirmcredit', 'WrenchTransactions::a $routes->post('/en/wrench/api/v1/mynotifications', 'WrenchNotifications::apigate'); - +$routes->post('/en/wrench/api/v1/getmedia', 'WrenchMedia::apigate'); /* diff --git a/www-api/app/Controllers/WrenchMedia.php b/www-api/app/Controllers/WrenchMedia.php new file mode 100644 index 00000000..06f762cf --- /dev/null +++ b/www-api/app/Controllers/WrenchMedia.php @@ -0,0 +1,119 @@ +request = $request = \Config\Services::request(); + } + + public function index() + { + $envID = getenv('ENV_ID'); + } + + public function endPointList(){ + + $endpoints = [ + 'getmedia' => ['POST'], + ]; + + return $endpoints; + } + + public function apigate(){ + log_message('critical', "Oauth-Gate"); + header('Access-Control-Allow-Origin: *'); + log_message('critical', "0002"); + $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']; + if ($method == "OPTIONS") { + header("HTTP/1.1 200 OK CORS"); + log_message('critical', " apigate()-> 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 + return json_encode([ + 'message' => 'Endpoint not found.', + 'URI' => $uri, + ]); + } + + // 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"] == "POST") { // if upload lets modify all the data + if (isset($_FILES) && is_array($_FILES) && count($_FILES)>0) { + $raw_array = array_merge($_POST,$_FILES); + } + } + + 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; + log_message('critical', "wrenchboard_api-CALL RAW DATA".serialize($raw_array) ); + //-- move to another module start + + + $in["loc"] = $_SERVER["REMOTE_ADDR"]; + // $in = $this->prepareOauthEndPointData($endpoint, $raw_array,$call_backend,$local_out); + log_message('critical', "wrenchboard_api-CALL PREPARE DATA".serialize($in) ); + + + if ( $call_backend == true && $in["action"] !='' ){ + $wrenchboard = new \App\Models\BackendModel(); + $ret = $wrenchboard->wrenchboard_api($in, $out); + $out['internal_return'] = $ret; + } + else + { + $out = $local_out; + } + + //$this->doCacheStep($in, $out); + return json_encode( ( new \App\Models\ResultFormatter() )->processOutJson($in, $out)); + + } + +}