Service functions

This commit is contained in:
dev-chiefworks
2022-03-29 22:34:07 -04:00
parent 6d25fc0159
commit 08a15c5984
4 changed files with 251 additions and 2 deletions
+92 -1
View File
@@ -2,6 +2,14 @@
namespace App\Controllers;
use CodeIgniter\HTTP\URI;
use App\Services\FloatLogin;
use App\Services\UserProfile;
use GuzzleHttp\Client as HTTPClient;
use Exception;
class Savvy extends BaseController
{
@@ -15,6 +23,18 @@ class Savvy extends BaseController
public function user(){
header("Access-Control-Allow-Origin: *");
header("Access-Control-Expose-Headers: Access-Control-Allow-Origin");
header("Access-Control-Allow-Headers: Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With, client_id");
header("Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS");
header('Content-type: application/json');
// $res = FloatLogin::floatLoginUser();
if ( "OPTIONS" === $_SERVER['REQUEST_METHOD'] ) {
exit();
}
// what is the endpoint
$uri = current_url(true);
$pieces = explode("/", $uri);
@@ -40,6 +60,51 @@ class Savvy extends BaseController
);
if(array_key_exists( $endpoint, $endpoints)){
// echo "EXYTACT INPUT DATA HERE";
}
else{
http_response_code(404);
// tell the user product does not exist
echo json_encode(array("message" => "Product does not exist."));
}
if (!isset($endpoints[$endpoint])) {
header('HTTP/1.1 400 Bad Request');
header('Status: 400 Bad Request');
echo "{\"status\":\"Invalid endpoint url\"}";
exit();
}
$methods = $endpoints[$endpoint];
if (array_search($_SERVER['REQUEST_METHOD'], $methods)===false) {
header('HTTP/1.1 405 Method Not Allowed');
header('Status: 405 Method Not Allowed');
echo "{\"status\":\"Invalid request method\"}";
exit();
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($endpoint == "uploadfile") {
upload_file_call();
exit();
} else {
$in = $this->flatten(json_decode(file_get_contents('php://input'), true));
}
}
if ($_SERVER["REQUEST_METHOD"] == "PUT") {
parse_str(file_get_contents('php://input'), $in);
}
$in["loc"] = $_SERVER["REMOTE_ADDR"]; // get who is connecting IP
$in["pid"] = 100;
$res=[];
switch ($endpoint) {
case 'getdrycleanservicelist': $in["action"] = SAVVYEXT_USER_DRYCLIST;
@@ -51,6 +116,16 @@ class Savvy extends BaseController
$in["loc"] = $_SERVER["REMOTE_ADDR"];
break;
case 'userlogin': $in["action"] = SAVVYEXT_USER_LOGIN;
$res = FloatLogin::floatLoginUser();
if (!empty($res)){
$data = json_decode($res, TRUE);
if (isset($data['accessToken'])){
$res = UserProfile::floatUserProfile($data['accessToken']);
}
}
break;
case 'updateprofile': $in["action"] = SAVVYEXT_USER_PROFILE;
$in["street1"] = $in["streetaddress"];
@@ -91,7 +166,23 @@ class Savvy extends BaseController
break;
}
echo json_encode($res);
exit();
}
private function flatten($data, $parentkey="") {
$result = array();
if (!is_array($data) ){
return [];
}
foreach ($data as $key=>$val) {
if (is_array($val)) {
$result = array_merge($result, flatten($val, $parentkey.$key."_"));
} else {
$result[$parentkey.$key] = $val;
}
}
return $result;
}
}