Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- exports.queuePicker = function(event, context, callback) {
- var timestamp = new Date().getTime().toString();
- var username;
- try {
- username = JSON.parse(event["body"])["username"]
- } catch(e) {
- username = event["body"]["username"]
- }
- if(event.requestContext.authorizer.claims.email !== username) {
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 401,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify({'message': 'User not found.'}, null, 2)
- });
- return;
- }
- var dbName;
- if(event.headers.test === "lambda") {
- dbName = "pickmo_testdb";
- } else if(event.headers.test === "api") {
- dbName = "pickmo_APIdb"
- } else {
- dbName = "pickmodb"
- }
- var connection = mysql.createConnection({
- host: "pickmo.cm8t4da2mqrz.us-west-2.rds.amazonaws.com",
- user: process.env.RDS_USERNAME,
- password: process.env.RDS_PWD,
- port: 3306,
- database: dbName
- });
- connection.connect(function(err) {
- if(err) {
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 400,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify(err, null, 2)
- });
- return;
- }
- });
- var query = squel.insert()
- .into("PickerQueue")
- .set("username", username)
- .set("timestamp", timestamp)
- .toString();
- connection.query(query, function(err, results) {
- if(err) {
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 400,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify(err)
- });
- return;
- }
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 200,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify(results)
- });
- });
- connection.end();
- }
- exports.dequeuePicker = function(event, context, callback) {
- var username;
- try {
- username = JSON.parse(event["pathParameters"])["username"]
- }
- catch (e) {
- username = event["pathParameters"]["username"]
- }
- var dbName;
- if(event.headers.test === "lambda") {
- dbName = "pickmo_testdb";
- } else if(event.headers.test === "api") {
- dbName = "pickmo_APIdb"
- } else {
- dbName = "pickmodb"
- }
- var connection = mysql.createConnection({
- host: "pickmo.cm8t4da2mqrz.us-west-2.rds.amazonaws.com",
- user: process.env.RDS_USERNAME,
- password: process.env.RDS_PWD,
- port: 3306,
- database: dbName
- });
- connection.connect(function(err) {
- if(err) {
- if(callback) {
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 400,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify(err, null, 2)
- });
- return;
- }
- }
- });
- var query = squel.delete()
- .from("PickerQueue")
- .where("username = ?", username)
- .toString();
- connection.query(query, function(err, results) {
- if(callback) {
- if(err) {
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 400,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify(err)
- });
- return;
- }
- callback(null, {
- "isBase64Encoded": false,
- "statusCode": 200,
- "headers": {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'},
- "body": JSON.stringify(results)
- });
- }
- });
- connection.end();
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement