Martin Donnelly 57bd6c8e6a init
2018-06-24 21:15:03 +01:00

38 lines
1.3 KiB
JavaScript

/**
* Controller to manage the Content Security Policy reporting functions
*/
'use strict';
var httpStatus = require('http-status-codes');
var debug = require('debug')('webconsole-api:controllers:postcodes');
var postcodeUtils = require(global.pathPrefix + '../utils/postcodes.js');
var responseUtils = require(global.pathPrefix + '../utils/responses.js');
var swaggerUtils = require(global.pathPrefix + '../utils/swaggerUtils.js');
module.exports = {
postcodeLookup: postcodeLookup
};
/**
* Runs a postcode lookup and returns a list of addresses that could match that
* postcode.
*
* @param {Object} req - Express request object
* @param {Object} res - Express response object
*/
function postcodeLookup(req, res) {
debug('Postcode Lookup: ', req.swagger.params.postcode.originalValue);
const lookupP = postcodeUtils.postcodeLookup(req.swagger.params.postcode.originalValue);
lookupP.then((addresses) => {
//
// Null any nullable fields
//
swaggerUtils.getAndApplyNullableFields(req.swagger.operation, addresses);
res.status(httpStatus.OK).json(addresses);
}).catch((error) => {
const responseHandler = new responseUtils.ErrorResponses([]);
responseHandler.respond(res, error);
});
}