UNPKG

@defra-fish/pocl-job

Version:

Post Office Counter Licence sales processor

85 lines (80 loc) 2.16 kB
import { Binding } from '../../binding.js' import { salesApi } from '@defra-fish/connectors-lib' const concessionIds = {} const getConcessionId = async concessionName => { if (!concessionIds[concessionName]) { concessionIds[concessionName] = (await salesApi.concessions.find({ name: concessionName })).id } return concessionIds[concessionName] } /** * Type of identification shown for Senior Concession * (Uncancelled Passport, Birth Certificate, NHS Medical Card, Driving Licence, Previous Senior Licence) * – only populated for Senior Concession transactions from Horizon * @type {Binding} */ export const SeniorConcession = new Binding({ element: 'SENIOR_ID', transform: async context => { const value = Binding.TransformTextOnly(context) return ( value && { concessions: [ { id: await getConcessionId('Senior'), proof: { type: context.value, referenceNumber: 'N/A' } } ] } ) } }) /** * Blue Badge – only populated for Disabled Concession * @type {Binding} */ export const BlueBadgeConcession = new Binding({ element: 'DISABLED_ID_1', transform: async context => { const value = Binding.TransformTextOnly(context) return ( value && { concessions: [ { id: await getConcessionId('Disabled'), proof: { type: 'Blue Badge', referenceNumber: context.value } } ] } ) } }) /** * If claiming Personal IP or Disability Living allowance - National Insurance Number - only populated for Disabled Concession Licences * @type {Binding} */ export const PipConcession = new Binding({ element: 'DISABLED_ID_2', transform: async context => { const value = Binding.TransformTextOnly(context) return ( value && { concessions: [ { id: await getConcessionId('Disabled'), proof: { type: 'National Insurance Number', referenceNumber: context.value } } ] } ) } })