Skip to content

Commit

Permalink
postcodesIO api call on each postcodeArray element > relates #18
Browse files Browse the repository at this point in the history
  • Loading branch information
Simon Dupree committed Oct 4, 2018
1 parent 61497b7 commit 4801527
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 17 deletions.
46 changes: 30 additions & 16 deletions controllers/airtable.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = (req, res) => {
module.exports = (req, res, next) => {
// set up airtable api
var Airtable = require('airtable');
Airtable.configure({
Expand All @@ -8,6 +8,12 @@ module.exports = (req, res) => {
var base = Airtable.base('apphdQNWTLdRQbOOg');
// set up storage array to be sent to frontend
let storage = [];
// setup postcodesIO
var PostcodesIO = require('postcodesio-client');

var postcodes = new PostcodesIO('https://api.postcodes.io', {
headers: { 'User-Agent': 'MyAwesomeApp/1.0.0' } // default {} - extra headers
});
// start query
base('fonthilldummy').select({
// Selecting the first 3 records in Grid view:
Expand All @@ -24,27 +30,35 @@ module.exports = (req, res) => {
storage.push(postcodeIdObj)
});
// create postcode object to be sent to geolocation api
let postcodeObj = {
"postcodes": storage.map(postcode => {
return postcode.postcode
})
}
// let postcodeArr = storage.map(postcode => {
// return postcode.postcode
// })

console.log(postcodeObj);

// let postcodeObj = {
// "postcodes": storage.map(postcode => {
// return postcode.postcode
// })
// }
let postcodeArr = storage.map(postcode => {
return postcode.postcode
});
console.log(postcodeArr);
postcodeArr.forEach(postcode => {
postcodes
.lookup(postcode)
.then(function (postcode) {
console.log(postcode);
}, function (error) {
next(error);
});
})

// To fetch the next page of records, call `fetchNextPage`.
// If there are more records, `page` will get called again.
// If there are no more records, `done` will get called.
fetchNextPage();
},

}, function done(err) {
if (err) { console.error(err); return; }
res.send({ ...storage })
function done(err) {
if (err) { console.error(err); next(err); }
res.send({ ...storage })

});
});

}
71 changes: 71 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"homepage": "https://github.com/fac-14/eastendtradesguild#readme",
"dependencies": {
"airtable": "^0.5.6",
"express": "^4.16.3"
"express": "^4.16.3",
"postcodesio-client": "^0.3.4"
},
"devDependencies": {
"concurrently": "^4.0.1"
Expand Down

0 comments on commit 4801527

Please sign in to comment.