/** * 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); }); }