Skip to content

Commit 8c983ce

Browse files
authored
RA-245: create log swap vos PIN credit details routes (#14)
* Added route and place holder for swap vos details page * RA-245-Small fixations
1 parent ba172d2 commit 8c983ce

File tree

5 files changed

+57
-1
lines changed

5 files changed

+57
-1
lines changed

server/routes/applications/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import asyncMiddleware from '../../middleware/asyncMiddleware'
33
import AuditService, { Page } from '../../services/auditService'
44
import applicationTypeRoutes from './applicationTypeRoutes'
55
import prisonerDetailsRoutes from './prisonerDetailsRoutes'
6+
import swapVosPinCreditDetailsRoutes from './swapVosPinCreditDetailsRoutes'
67

78
export default function applicationsRoutes({ auditService }: { auditService: AuditService }): Router {
89
const router = Router()
@@ -50,6 +51,7 @@ export default function applicationsRoutes({ auditService }: { auditService: Aud
5051

5152
router.use(applicationTypeRoutes({ auditService }))
5253
router.use(prisonerDetailsRoutes({ auditService }))
54+
router.use(swapVosPinCreditDetailsRoutes({ auditService }))
5355

5456
return router
5557
}

server/routes/applications/prisonerDetailsRoutes.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default function prisonerDetailsRoutes({ auditService }: { auditService:
1414
})
1515

1616
if (!req.session.applicationData?.type) {
17-
return res.redirect('log/application-type')
17+
return res.redirect('/log/application-type')
1818
}
1919

2020
return res.render('pages/log/prisoner-details', {
@@ -24,5 +24,12 @@ export default function prisonerDetailsRoutes({ auditService }: { auditService:
2424
}),
2525
)
2626

27+
router.post(
28+
'/log/prisoner-details',
29+
asyncMiddleware(async (req: Request, res: Response) => {
30+
res.redirect(`/log/swap-vos-pin-credit-details`)
31+
}),
32+
)
33+
2734
return router
2835
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { Request, Response, Router } from 'express'
2+
import asyncMiddleware from '../../middleware/asyncMiddleware'
3+
import AuditService, { Page } from '../../services/auditService'
4+
import { APPLICATION_TYPES } from '../../constants/applicationTypes'
5+
6+
export default function swapVosPinCreditDetailsRoutes({ auditService }: { auditService: AuditService }): Router {
7+
const router = Router()
8+
9+
router.get(
10+
'/log/swap-vos-pin-credit-details',
11+
asyncMiddleware(async (req: Request, res: Response) => {
12+
await auditService.logPageView(Page.LOG_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE, {
13+
who: res.locals.user.username,
14+
correlationId: req.id,
15+
})
16+
17+
const selectedAppType = APPLICATION_TYPES.find(type => type.value === req.session.applicationData?.type.value)
18+
19+
if (!selectedAppType) {
20+
return res.redirect('/log/application-type')
21+
}
22+
23+
return res.render('pages/log/swap-vos-pin-credit-details', {
24+
title: 'Log swap VOs for PIN credit details',
25+
appTypeTitle: 'Swap VOs for PIN credit',
26+
})
27+
}),
28+
)
29+
30+
return router
31+
}

server/services/auditService.ts

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export enum Page {
55
APPLICATIONS_PAGE = 'APPLICATIONS_PAGE',
66
LOG_APPLICATION_TYPE_PAGE = 'LOG_APPLICATION_TYPE_PAGE',
77
LOG_PRISONER_DETAILS_PAGE = 'LOG_PRISONER_DETAILS_PAGE',
8+
LOG_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE = 'LOG_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE',
89
}
910

1011
export interface PageViewEventDetails {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
2+
3+
{% extends "../../partials/layout.njk" %}
4+
5+
{% set pageTitle = applicationName + " - " + title %}
6+
{% set mainClasses = "app-container govuk-body applications-landing-page" %}
7+
8+
{% block content %}
9+
<div class="govuk-body govuk-width-container">
10+
{{ govukBackLink({
11+
text: "Back",
12+
href: "/log/prisoner-details"
13+
}) }}
14+
</div>
15+
{% endblock %}

0 commit comments

Comments
 (0)