-
Notifications
You must be signed in to change notification settings - Fork 0
/
get_places.js
35 lines (32 loc) · 996 Bytes
/
get_places.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
const aws = require('aws-sdk');
const dynamoDB = new aws.DynamoDB.DocumentClient();
async function getPlaces() {
const params = {
TableName: process.env.dynamodb_places_table_name,
ProjectionExpression: 'place_id, place_name, lat, lon, address, locality, city'
};
const data = await dynamoDB.scan(params).promise();
return data.Items;
}
exports.handler = async (event) => { // eslint-disable-line no-unused-vars
const places = await getPlaces();
const responseBody = places.map((p) => ({
place_id: p.place_id,
place_name: p.place_name,
lat: p.lat.toString(10),
lon: p.lon.toString(10),
id: p.place_id,
id_deprecation: 'Use place_id instead',
name: p.place_name,
name_deprecation: 'Use place_name instead',
address: p.address,
locality: p.locality,
city: p.city
}));
const response = {
statusCode: 200,
headers: { 'Access-Control-Allow-Origin': '*' },
body: JSON.stringify(responseBody)
};
return response;
};