-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheckhash.js
55 lines (47 loc) · 1.16 KB
/
checkhash.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
'use strict';
const AWS = require('aws-sdk');
const dynamoDb = new AWS.DynamoDB.DocumentClient();
//This function is the checkhash webservice
module.exports.checkhash = (event, context, callback) => {
var passwordhash = event.pathParameters.hash.toUpperCase();
//Set the search parameter
const params = {
TableName: process.env.DYNAMODB_TABLE,
Key: {
passwordhash: passwordhash,
},
};
//Execute the search
dynamoDb.get(params, (error, result) => {
//Error
if (error) {
console.error(error);
callback(null, {
statusCode: error.statusCode || 501,
headers: { 'Content-Type': 'text/plain' },
body: 'Error',
});
return;
}
//Create the response payload
var body;
//No match found
if(result.Item == null) {
body = "{\"passwordhash\":\""+passwordhash+"\",\"timesseen\":0}"
}
//Match found
else {
body = JSON.stringify(result.Item)
}
//Send the response
const response = {
headers: {
'Access-Control-Allow-Origin': '*',
},
statusCode: 200,
body:
body,
};
callback(null, response);
});
};