@defra/wls-eps-web-service
Version:
The web service for wildlife licencing of European Protected Species
38 lines (32 loc) • 1.35 kB
JavaScript
import Joi from 'joi'
import { checkApplication } from '../../common/check-application.js'
import { permissionsURIs } from '../../../uris.js'
import { APIRequests } from '../../../services/api-requests.js'
import pageRoute from '../../../routes/page-route.js'
import { getCheckYourAnswersData } from '../common/permission-functions.js'
import { boolFromYesNo } from '../../common/common.js'
const addPermissionRadio = 'add-another-permission'
export const getData = async request => {
const { applicationId } = await request.cache().getData()
const permissionData = await APIRequests.PERMISSION.getPermissions(applicationId)
return getCheckYourAnswersData(permissionData)
}
export const completion = async request => {
const journeyData = await request.cache().getData()
if (boolFromYesNo(request?.payload[addPermissionRadio])) {
delete journeyData.permissionData
await request.cache().setData(journeyData)
return permissionsURIs.CONSENT_TYPE.uri
}
return permissionsURIs.CONDITIONS_MET.uri
}
export default pageRoute({
page: permissionsURIs.CHECK_PERMISSIONS_ANSWERS.page,
uri: permissionsURIs.CHECK_PERMISSIONS_ANSWERS.uri,
checkData: checkApplication,
validator: Joi.object({
'add-another-permission': Joi.any().required()
}).options({ abortEarly: false, allowUnknown: true }),
getData,
completion
})