Advertisement
Guest User

queue.js

a guest
Feb 25th, 2018
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. exports.queuePicker = function(event, context, callback) {
  2.  
  3.     var timestamp = new Date().getTime().toString();
  4.    
  5.     try {
  6.         var username = JSON.parse(event["body"])["username"]
  7.     } catch(e) {
  8.         var username = event["body"]["username"]
  9.     }
  10.  
  11.     if(event.requestContext.authorizer.claims.email !== username) {
  12.         callback(null, {
  13.             "isBase64Encoded": false,
  14.             "statusCode": 401,
  15.             "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  16.             "body": JSON.stringify({'message': 'User not found.'}, null, 2)
  17.         });
  18.         return;
  19.     }
  20.  
  21.  
  22.     if(event.headers.test === "lambda") {
  23.         var dbName = "pickmo_testdb";
  24.     } else if(event.headers.test === "api") {
  25.         var dbName = "pickmo_APIdb"
  26.     } else {
  27.         var dbName = "pickmodb"
  28.     }
  29.  
  30.     var connection = mysql.createConnection({
  31.         host: "pickmo.cm8t4da2mqrz.us-west-2.rds.amazonaws.com",
  32.         user: process.env.RDS_USERNAME,
  33.         password: process.env.RDS_PWD,
  34.         port: 3306,
  35.         database: dbName
  36.     });
  37.  
  38.     connection.connect(function(err) {
  39.         if(err) {
  40.             callback({
  41.                 "isBase64Encoded": false,
  42.                 "statusCode": 400,
  43.                 "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  44.                 "body": JSON.stringify(err, null, 2)
  45.                 });
  46.             return;
  47.         }
  48.     });
  49.  
  50.     var query = "INSERT INTO PickerQueue (username, timestamp) VALUES ('" +
  51.         username + "'," + "'" + timestamp + "')";
  52.        
  53.     connection.query(query, function(err, results) {
  54.         if(err) {
  55.             callback({
  56.                 "isBase64Encoded": false,
  57.                 "statusCode": 400,
  58.                 "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  59.                 "body": JSON.stringify(err)
  60.             });
  61.         }
  62.         callback(null, {
  63.             "isBase64Encoded": false,
  64.             "statusCode": 200,
  65.             "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  66.             "body": JSON.stringify(results)
  67.         });
  68.     });
  69.     connection.end();
  70. }
  71.  
  72. exports.dequeuePicker = function(event, context, callback) {
  73.  
  74.     try {
  75.         var username = JSON.parse(event["pathParameters"])["username"]
  76.     }
  77.     catch (e) {
  78.         var username = event["pathParameters"]["username"]
  79.     }
  80.  
  81.     if(event.headers.test === "lambda") {
  82.         var dbName = "pickmo_testdb";
  83.     } else if(event.headers.test === "api") {
  84.         var dbName = "pickmo_APIdb"
  85.     } else {
  86.         var dbName = "pickmodb"
  87.     }
  88.  
  89.     var connection = mysql.createConnection({
  90.         host: "pickmo.cm8t4da2mqrz.us-west-2.rds.amazonaws.com",
  91.         user: process.env.RDS_USERNAME,
  92.         password: process.env.RDS_PWD,
  93.         port: 3306,
  94.         database: dbName
  95.     });
  96.  
  97.     connection.connect(function(err) {
  98.         if(err) {
  99.             if(callback) {
  100.                 callback({
  101.                     "isBase64Encoded": false,
  102.                     "statusCode": 400,
  103.                     "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  104.                     "body": JSON.stringify(err, null, 2)
  105.                     });
  106.                 return;
  107.             }
  108.         }
  109.     });
  110.  
  111.     var query = "DELETE FROM PickerQueue WHERE username = " + "'" + username + "'";
  112.    
  113.     connection.query(query, function(err, results) {
  114.         if(callback) {
  115.             if(err) {
  116.                 callback({
  117.                     "isBase64Encoded": false,
  118.                     "statusCode": 400,
  119.                     "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  120.                     "body": JSON.stringify(err)
  121.                 });
  122.             }
  123.             callback(null, {
  124.                 "isBase64Encoded": false,
  125.                 "statusCode": 200,
  126.                 "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
  127.                 "body": JSON.stringify(results)
  128.             });
  129.         }
  130.     });
  131.     connection.end();
  132. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement