From 2a5f498a01f5de0b29111143bd12eb5c0f2abe05 Mon Sep 17 00:00:00 2001 From: Jez Barnsley Date: Fri, 3 Oct 2025 14:25:18 +0100 Subject: [PATCH] Added new page controller types --- model/src/form/form-definition/types.ts | 8 ++++++++ model/src/pages/controller-types.ts | 4 ++++ model/src/pages/enums.ts | 1 + model/src/pages/page-types.ts | 7 +++++++ 4 files changed, 20 insertions(+) diff --git a/model/src/form/form-definition/types.ts b/model/src/form/form-definition/types.ts index a020410f4f..bc9294a464 100644 --- a/model/src/form/form-definition/types.ts +++ b/model/src/form/form-definition/types.ts @@ -105,6 +105,13 @@ export interface PageSummary extends PageBase { components?: ComponentDef[] } +export interface PageSummaryWithConfirmationEmail extends PageBase { + path: ControllerPath.Summary | string + controller: ControllerType.SummaryWithConfirmationEmail + section?: undefined + components?: ComponentDef[] +} + export interface PageStatus extends PageBase { path: ControllerPath.Status | string controller: ControllerType.Status @@ -118,6 +125,7 @@ export type Page = | PageFileUpload | PageRepeat | PageSummary + | PageSummaryWithConfirmationEmail | PageStatus export interface Section { diff --git a/model/src/pages/controller-types.ts b/model/src/pages/controller-types.ts index a10c36ad7d..ddb6baf730 100644 --- a/model/src/pages/controller-types.ts +++ b/model/src/pages/controller-types.ts @@ -25,6 +25,10 @@ export const ControllerTypes = [ name: ControllerType.Summary, path: './pages/summary.js' }, + { + name: ControllerType.SummaryWithConfirmationEmail, + path: './pages/summary-with-confirmation-email.js' + }, { name: ControllerType.Status, path: './pages/status.js' diff --git a/model/src/pages/enums.ts b/model/src/pages/enums.ts index dab9b1bdac..9a91c222a0 100644 --- a/model/src/pages/enums.ts +++ b/model/src/pages/enums.ts @@ -11,5 +11,6 @@ export enum ControllerType { FileUpload = 'FileUploadPageController', Terminal = 'TerminalPageController', Summary = 'SummaryPageController', + SummaryWithConfirmationEmail = 'SummaryPageWithConfirmationEmailController', Status = 'StatusPageController' } diff --git a/model/src/pages/page-types.ts b/model/src/pages/page-types.ts index 6c6d4796f8..37a903cd9b 100644 --- a/model/src/pages/page-types.ts +++ b/model/src/pages/page-types.ts @@ -56,6 +56,13 @@ export const PageTypes: readonly Page[] = Object.freeze([ section: undefined, components: [] }, + { + title: 'Summary page', + path: ControllerPath.Summary, + controller: ControllerType.SummaryWithConfirmationEmail, + section: undefined, + components: [] + }, { title: 'Status page', path: ControllerPath.Status,