UNPKG

ncc-prototype-email-alerts-sub

Version:

Northumberland Council Front End Email Alerts Subscription Prototype

31 lines (26 loc) 1.15 kB
import { Request, Response, NextFunction } from 'express'; import logger from '../libs/logger'; import { postController } from '../types/controller'; import { checkPostCode } from '../libs/httpServices' import { AddressResponse } from '../types/addressResponse'; // eslint-disable-next-line @typescript-eslint/no-explicit-any export const postCodeController: postController = async (req: Request, res: Response, next: NextFunction) => { try { req.session.postCodeNotCovered = false; const addresseResponse: AddressResponse = await checkPostCode(req.body.postcode); if (typeof addresseResponse.error != 'undefined') { throw addresseResponse.error; } req.session.addresses = addresseResponse.addresses; //if we have address data move to next step if (req.session.addresses.length > 0) { next(); } //if no data but no error, redirect to unsupported return res.redirect('/address-not-covered'); } catch (err) { logger.error("error occured on onPostCodeFormSubmit" + JSON.stringify(err)); next(err); return } }