index.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. require_once("../vendor/autoload.php");
  3. use MongoDB\BSON\ObjectId;
  4. use MongoDB\Client;
  5. use Firebase\JWT\JWT;
  6. use Firebase\JWT\Key;
  7. $userInput = file_get_contents('php://input');
  8. $userInputData = json_decode($userInput, true);
  9. if ($userInputData !== null) {
  10. $headers = explode(" ", trim($_SERVER["HTTP_AUTHORIZATION"]));
  11. $key = '97eda3db6f898bfb1f821178d1c27064';
  12. $jwt = $headers[1];
  13. try {
  14. $decoded = JWT::decode($jwt, new Key($key, 'HS256'));
  15. //print_r($decoded);
  16. $client = new Client('mongodb://kpadmin:AnandAyyappan1981@127.0.0.1:27017/?authSource=kpmaster');
  17. $collection = $client->selectCollection('kpmaster', 'kpu');
  18. //$cursor = $collection->aggregate([['$geoNear' => ['near' => ['type' => 'Point', 'coordinates' => [76.93, 8.52]], 'spherical' => true, 'query' => ['srvs' => ['$all' => ['Painting']]], 'distanceField' => 'Dis', 'maxDistance' => 2000, 'includeLocs' => 'loc']], ['$project' => ['ID'=>'$oid', 'Name' => '$fn', 'Distance' => '$Dis', 'Location' => '$loc']]]);
  19. $updateResult = $collection->updateOne(
  20. ['_id' => new ObjectId($decoded->kpid)],
  21. ['$pull' => ['srvs' => $userInputData["service"]]]
  22. );
  23. if ($updateResult->getModifiedCount() == 1) {
  24. $message['status'] = true;
  25. $message['statusMessage'] = "Service Removed Successfully";
  26. } else {
  27. $message['status'] = false;
  28. $message['statusCode'] = 'KP005';
  29. $message['statusMessage'] = "Service Removal Failed";
  30. }
  31. } catch (\Firebase\JWT\ExpiredException $exception) {
  32. $message['status'] = false;
  33. $message['statusCode'] = "KP010";
  34. $message['statusMessage'] = "Login Token Expired! Kindly Re Login.";
  35. }
  36. } else {
  37. $message['status'] = false;
  38. $message['statusCode'] = "KP001";
  39. $message['statusMessage'] = "Data Not Received";
  40. }
  41. echo json_encode($message);