index.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. require_once("../vendor/autoload.php");
  3. use MongoDB\Client;
  4. use Firebase\JWT\JWT;
  5. use Firebase\JWT\Key;
  6. //print_r($_REQUEST);
  7. $userInput = file_get_contents('php://input');
  8. $userInputData = json_decode($userInput, true);
  9. if ($userInputData !== null) {
  10. $client = new Client('mongodb://kpadmin:AnandAyyappan1981@127.0.0.1:27017/?authSource=kpmaster');
  11. $collection = $client->selectCollection('kpmaster', 'kpu');
  12. try {
  13. $insertOneResult = $collection->insertOne([
  14. 'fn' => $userInputData['name'],
  15. 'mn' => $userInputData['mobile'],
  16. 'em' => $userInputData['email'],
  17. 'dob' => $userInputData['dob'],
  18. 'srvs' => $userInputData['services'],
  19. 'location' => [
  20. 'coordinates' => $userInputData['coordinates'],
  21. 'type' => 'Point'
  22. ],
  23. 'ps' => md5('AnandAyyappan')
  24. ]);
  25. if ($insertOneResult->getInsertedCount() == 1) {
  26. $id = get_object_vars($insertOneResult->getInsertedId());
  27. $key = '97eda3db6f898bfb1f821178d1c27064';
  28. $payload = [
  29. 'iss' => 'http://kittipoyi.com',
  30. 'aud' => 'http://kittipoyi.com',
  31. 'iat' => time(),
  32. 'nbf' => time(),
  33. 'kpid' => $id['oid']
  34. ];
  35. $jwt = JWT::encode($payload, $key, 'HS256');
  36. $message['status'] = true;
  37. $message['token'] = $jwt;
  38. $message['statusMessage'] = "User addition sucessful";
  39. } else {
  40. $message['status'] = false;
  41. $message['statusCode'] = "KP004";
  42. $message['statusMessage'] = "User addition failed";
  43. }
  44. } catch (\Exception $e) {
  45. $eMessage= $e->getMessage();
  46. if (str_contains($eMessage, 'duplicate key error collection')) {
  47. $message['status'] = false;
  48. $message['statusCode'] = "KP003";
  49. $message['statusMessage'] = "User already exists for the given email id";
  50. } else {
  51. $message['status'] = false;
  52. $message['statusCode'] = "KP002";
  53. $message['statusMessage'] = "User addition error - DB $eMessage";
  54. }
  55. }
  56. } else {
  57. $message['status'] = false;
  58. $message['statusCode'] = "KP001";
  59. $message['statusMessage'] = "Data Not Received";
  60. }
  61. echo json_encode($message);