123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- require_once("../vendor/autoload.php");
- use MongoDB\Client;
- use Firebase\JWT\JWT;
- use Firebase\JWT\Key;
- //print_r($_REQUEST);
- $userInput = file_get_contents('php://input');
- $userInputData = json_decode($userInput, true);
- if ($userInputData !== null) {
- $client = new Client('mongodb://kpadmin:AnandAyyappan1981@127.0.0.1:27017/?authSource=kpmaster');
- $collection = $client->selectCollection('kpmaster', 'kpu');
- try {
- $insertOneResult = $collection->insertOne([
- 'fn' => $userInputData['name'],
- 'mn' => $userInputData['mobile'],
- 'em' => $userInputData['email'],
- 'dob' => $userInputData['dob'],
- 'srvs' => $userInputData['services'],
- 'location' => [
- 'coordinates' => $userInputData['coordinates'],
- 'type' => 'Point'
- ],
- 'ps' => md5('AnandAyyappan')
- ]);
- if ($insertOneResult->getInsertedCount() == 1) {
- $id = get_object_vars($insertOneResult->getInsertedId());
- $key = '97eda3db6f898bfb1f821178d1c27064';
- $payload = [
- 'iss' => 'http://kittipoyi.com',
- 'aud' => 'http://kittipoyi.com',
- 'iat' => time(),
- 'nbf' => time(),
- 'kpid' => $id['oid']
- ];
- $jwt = JWT::encode($payload, $key, 'HS256');
- $message['status'] = true;
- $message['token'] = $jwt;
- $message['statusMessage'] = "User addition sucessful";
- } else {
- $message['status'] = false;
- $message['statusCode'] = "KP004";
- $message['statusMessage'] = "User addition failed";
- }
- } catch (\Exception $e) {
- $eMessage= $e->getMessage();
- if (str_contains($eMessage, 'duplicate key error collection')) {
- $message['status'] = false;
- $message['statusCode'] = "KP003";
- $message['statusMessage'] = "User already exists for the given email id";
- } else {
- $message['status'] = false;
- $message['statusCode'] = "KP002";
- $message['statusMessage'] = "User addition error - DB $eMessage";
- }
- }
- } else {
- $message['status'] = false;
- $message['statusCode'] = "KP001";
- $message['statusMessage'] = "Data Not Received";
- }
- echo json_encode($message);
|