Skip to content

Commit

Permalink
create view application route
Browse files Browse the repository at this point in the history
  • Loading branch information
madebyzak committed Feb 11, 2025
1 parent f1185db commit aa5827d
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 1 deletion.
2 changes: 2 additions & 0 deletions server/routes/applications/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import AuditService, { Page } from '../../services/auditService'
import applicationTypeRoutes from './applicationTypeRoutes'
import prisonerDetailsRoutes from './prisonerDetailsRoutes'
import swapVosPinCreditDetailsRoutes from './swapVosPinCreditDetailsRoutes'
import viewApplicationRoutes from './viewApplicationsRoutes'

export default function applicationsRoutes({ auditService }: { auditService: AuditService }): Router {
const router = Router()
Expand Down Expand Up @@ -52,6 +53,7 @@ export default function applicationsRoutes({ auditService }: { auditService: Aud
router.use(applicationTypeRoutes({ auditService }))
router.use(prisonerDetailsRoutes({ auditService }))
router.use(swapVosPinCreditDetailsRoutes({ auditService }))
router.use(viewApplicationRoutes({ auditService }))

return router
}
46 changes: 46 additions & 0 deletions server/routes/applications/viewApplicationsRoutes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import { Request, Response, Router } from 'express'

import { APPLICATION_TYPES } from '../../constants/applicationTypes'
import asyncMiddleware from '../../middleware/asyncMiddleware'
import AuditService, { Page } from '../../services/auditService'

export default function viewApplicationRoutes({ auditService }: { auditService: AuditService }): Router {
const router = Router()

router.get(
'/view/:applicationId',
asyncMiddleware(async (req: Request, res: Response) => {
const { applicationId } = req.params

const application = {
id: applicationId,
type: 'swap-visiting-orders-for-pin-credit',
dept: 'Business Hub',
}

if (!application) {
res.status(404).send('Application not found')
return
}

await auditService.logPageView(Page.VIEW_APPLICATION_PAGE, {
who: res.locals.user.username,
correlationId: req.id,
})

const applicationType = APPLICATION_TYPES.find(type => type.value === application.type)

if (!applicationType) {
res.status(400).send('Invalid application type')
return
}

res.render(`pages/view-application/${application.type}`, {
title: applicationType.name,
application,
})
}),
)

return router
}
3 changes: 2 additions & 1 deletion server/services/auditService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ import HmppsAuditClient, { AuditEvent } from '../data/hmppsAuditClient'
export enum Page {
EXAMPLE_PAGE = 'EXAMPLE_PAGE',
APPLICATIONS_PAGE = 'APPLICATIONS_PAGE',
CONFIRM_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE = 'CONFIRM_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE',
LOG_APPLICATION_TYPE_PAGE = 'LOG_APPLICATION_TYPE_PAGE',
LOG_PRISONER_DETAILS_PAGE = 'LOG_PRISONER_DETAILS_PAGE',
LOG_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE = 'LOG_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE',
CONFIRM_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE = 'CONFIRM_SWAP_VOS_PIN_CREDIT_DETAILS_PAGE',
VIEW_APPLICATION_PAGE = 'VIEW_APPLICATION_PAGE',
}

export interface PageViewEventDetails {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/summary-list/macro.njk" import govukSummaryList %}

{% extends "../../partials/layout.njk" %}

{% set pageTitle = applicationName + " - " + title %}
{% set mainClasses = "app-container govuk-body applications-landing-page" %}

{% block content %}
<div class="govuk-body govuk-width-container">
{{ govukBackLink({
text: "Back",
href: "/"
}) }}

<span class="govuk-caption-xl">{{ application.dept }}</span>
<h1 class="govuk-heading-xl govuk-!-margin-top-0">{{ title }}</h1>
</div>
{% endblock %}

0 comments on commit aa5827d

Please sign in to comment.