From 0a6f654dd9bf50d09021f8840ac702fbe3193be6 Mon Sep 17 00:00:00 2001 From: whitewater design Date: Thu, 28 Aug 2025 14:52:04 +0100 Subject: [PATCH] refactor: DF-380 - Move enums to separate types file --- .../outputFormatters/adapter/v1.test.ts | 2 +- .../engine/outputFormatters/adapter/v1.ts | 2 +- src/server/plugins/engine/types.ts | 24 +++++++------------ src/server/plugins/engine/types/enums.ts | 15 ++++++++++++ src/server/plugins/engine/types/index.ts | 7 ++---- .../plugins/engine/types/schema.test.ts | 2 +- src/server/plugins/engine/types/schema.ts | 2 +- 7 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 src/server/plugins/engine/types/enums.ts diff --git a/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts b/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts index 78dae0c90..12b6dc6c8 100644 --- a/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +++ b/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts @@ -10,9 +10,9 @@ import { } from '~/src/server/plugins/engine/models/types.js' import { format } from '~/src/server/plugins/engine/outputFormatters/adapter/v1.js' import { buildFormContextRequest } from '~/src/server/plugins/engine/pageControllers/__stubs__/request.js' +import { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/index.js' import { FileStatus, - FormAdapterSubmissionSchemaVersion, UploadStatus, type FileState, type FormAdapterSubmissionMessagePayload diff --git a/src/server/plugins/engine/outputFormatters/adapter/v1.ts b/src/server/plugins/engine/outputFormatters/adapter/v1.ts index 9264de319..6efacb704 100644 --- a/src/server/plugins/engine/outputFormatters/adapter/v1.ts +++ b/src/server/plugins/engine/outputFormatters/adapter/v1.ts @@ -7,8 +7,8 @@ import { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js' import { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js' import { type DetailItem } from '~/src/server/plugins/engine/models/types.js' import { format as machineV2 } from '~/src/server/plugins/engine/outputFormatters/machine/v2.js' +import { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js' import { - FormAdapterSubmissionSchemaVersion, type FormAdapterSubmissionMessageData, type FormAdapterSubmissionMessagePayload, type FormContext diff --git a/src/server/plugins/engine/types.ts b/src/server/plugins/engine/types.ts index 220d755f5..dc381cd86 100644 --- a/src/server/plugins/engine/types.ts +++ b/src/server/plugins/engine/types.ts @@ -21,6 +21,11 @@ import { type FormModel } from '~/src/server/plugins/engine/models/index.js' import { type RichFormValue } from '~/src/server/plugins/engine/outputFormatters/machine/v2.js' import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js' import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js' +import { + type FileStatus, + type FormAdapterSubmissionSchemaVersion, + type UploadStatus +} from '~/src/server/plugins/engine/types/enums.js' import { type ViewContext } from '~/src/server/plugins/nunjucks/types.js' import { type FormAction, @@ -190,17 +195,10 @@ export interface UploadInitiateResponse { statusUrl: string } -export enum UploadStatus { - initiated = 'initiated', - pending = 'pending', - ready = 'ready' -} - -export enum FileStatus { - complete = 'complete', - rejected = 'rejected', - pending = 'pending' -} +export { + FileStatus, + UploadStatus +} from '~/src/server/plugins/engine/types/enums.js' export type UploadState = FileState[] @@ -414,10 +412,6 @@ export interface FormAdapterSubmissionMessageData { files: Record[]> } -export enum FormAdapterSubmissionSchemaVersion { - V1 = 1 -} - export interface FormAdapterSubmissionMessagePayload { meta: FormAdapterSubmissionMessageMeta data: FormAdapterSubmissionMessageData diff --git a/src/server/plugins/engine/types/enums.ts b/src/server/plugins/engine/types/enums.ts new file mode 100644 index 000000000..c7b38428e --- /dev/null +++ b/src/server/plugins/engine/types/enums.ts @@ -0,0 +1,15 @@ +export enum UploadStatus { + initiated = 'initiated', + pending = 'pending', + ready = 'ready' +} + +export enum FileStatus { + complete = 'complete', + rejected = 'rejected', + pending = 'pending' +} + +export enum FormAdapterSubmissionSchemaVersion { + V1 = 1 +} diff --git a/src/server/plugins/engine/types/index.ts b/src/server/plugins/engine/types/index.ts index c00c524e0..917f045db 100644 --- a/src/server/plugins/engine/types/index.ts +++ b/src/server/plugins/engine/types/index.ts @@ -41,11 +41,7 @@ export type { UploadStatusResponse } from '~/src/server/plugins/engine/types.js' -export { - FileStatus, - FormAdapterSubmissionSchemaVersion, - UploadStatus -} from '~/src/server/plugins/engine/types.js' +export { FileStatus, UploadStatus } from '~/src/server/plugins/engine/types.js' export type { Detail, @@ -94,3 +90,4 @@ export type { export type { RichFormValue } from '~/src/server/plugins/engine/outputFormatters/machine/v2.js' export * from '~/src/server/plugins/engine/types/schema.js' +export { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js' diff --git a/src/server/plugins/engine/types/schema.test.ts b/src/server/plugins/engine/types/schema.test.ts index bc7605cb9..b5f2e8a73 100644 --- a/src/server/plugins/engine/types/schema.test.ts +++ b/src/server/plugins/engine/types/schema.test.ts @@ -1,12 +1,12 @@ import { FormStatus } from '@defra/forms-model' +import { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js' import { formAdapterSubmissionMessageDataSchema, formAdapterSubmissionMessageMetaSchema, formAdapterSubmissionMessagePayloadSchema } from '~/src/server/plugins/engine/types/schema.js' import { - FormAdapterSubmissionSchemaVersion, type FormAdapterSubmissionMessageData, type FormAdapterSubmissionMessageMeta, type FormAdapterSubmissionMessagePayload diff --git a/src/server/plugins/engine/types/schema.ts b/src/server/plugins/engine/types/schema.ts index cc21d480b..039ce2082 100644 --- a/src/server/plugins/engine/types/schema.ts +++ b/src/server/plugins/engine/types/schema.ts @@ -7,8 +7,8 @@ import { } from '@defra/forms-model' import Joi from 'joi' +import { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js' import { - FormAdapterSubmissionSchemaVersion, type FormAdapterSubmissionMessageData, type FormAdapterSubmissionMessageMeta, type FormAdapterSubmissionMessagePayload