38 lines
1.3 KiB
JavaScript
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);
|
|
});
|
|
}
|