@defra/forms-engine-plugin 4.0.40 → 4.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.server/server/plugins/engine/outputFormatters/adapter/v1.js +1 -2
- package/.server/server/plugins/engine/outputFormatters/adapter/v1.js.map +1 -1
- package/package.json +1 -1
- package/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +1 -1
- package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +1 -2
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { categoriseData } from "../machine/v2.js";
|
|
2
2
|
import { FormAdapterSubmissionSchemaVersion } from "../../types/enums.js";
|
|
3
|
-
import { FormStatus } from "../../../../routes/types.js";
|
|
4
3
|
export function format(context, items, model, submitResponse, formStatus, formMetadata) {
|
|
5
4
|
const csvFiles = extractCsvFiles(submitResponse);
|
|
6
5
|
const {
|
|
@@ -15,7 +14,7 @@ export function format(context, items, model, submitResponse, formStatus, formMe
|
|
|
15
14
|
formName: model.name,
|
|
16
15
|
formId: formMetadata?.id ?? '',
|
|
17
16
|
formSlug: formMetadata?.slug ?? '',
|
|
18
|
-
status: formStatus.
|
|
17
|
+
status: formStatus.state,
|
|
19
18
|
isPreview: formStatus.isPreview,
|
|
20
19
|
notificationEmail: formMetadata?.notificationEmail ?? ''
|
|
21
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","names":["categoriseData","FormAdapterSubmissionSchemaVersion","
|
|
1
|
+
{"version":3,"file":"v1.js","names":["categoriseData","FormAdapterSubmissionSchemaVersion","format","context","items","model","submitResponse","formStatus","formMetadata","csvFiles","extractCsvFiles","main","v2Main","v2Data","versionMetadata","getVersionMetadata","submittedVersionNumber","meta","schemaVersion","V1","timestamp","Date","referenceNumber","formName","name","formId","id","formSlug","slug","status","state","isPreview","notificationEmail","Object","fromEntries","entries","map","key","value","undefined","data","result","files","payload","JSON","stringify","versions","length","submittedVersion","find","v","versionNumber","createdAt","firstVersion","repeaters"],"sources":["../../../../../../src/server/plugins/engine/outputFormatters/adapter/v1.ts"],"sourcesContent":["import {\n type FormMetadata,\n type SubmitResponsePayload\n} from '@defra/forms-model'\n\nimport { type checkFormStatus } from '~/src/server/plugins/engine/helpers.js'\nimport { type FormModel } from '~/src/server/plugins/engine/models/FormModel.js'\nimport { type DetailItem } from '~/src/server/plugins/engine/models/types.js'\nimport { categoriseData } from '~/src/server/plugins/engine/outputFormatters/machine/v2.js'\nimport { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js'\nimport {\n type FormAdapterSubmissionMessageData,\n type FormAdapterSubmissionMessageMeta,\n type FormAdapterSubmissionMessagePayload,\n type FormAdapterSubmissionMessageResult,\n type FormContext\n} from '~/src/server/plugins/engine/types.js'\n\nexport function format(\n context: FormContext,\n items: DetailItem[],\n model: FormModel,\n submitResponse: SubmitResponsePayload,\n formStatus: ReturnType<typeof checkFormStatus>,\n formMetadata?: FormMetadata\n): string {\n const csvFiles = extractCsvFiles(submitResponse)\n\n const { main: v2Main, ...v2Data } = categoriseData(items)\n\n const versionMetadata = getVersionMetadata(\n context.submittedVersionNumber,\n formMetadata\n )\n\n const meta: FormAdapterSubmissionMessageMeta = {\n schemaVersion: FormAdapterSubmissionSchemaVersion.V1,\n timestamp: new Date(),\n referenceNumber: context.referenceNumber,\n formName: model.name,\n formId: formMetadata?.id ?? '',\n formSlug: formMetadata?.slug ?? '',\n status: formStatus.state,\n isPreview: formStatus.isPreview,\n notificationEmail: formMetadata?.notificationEmail ?? ''\n }\n\n if (versionMetadata) {\n meta.versionMetadata = versionMetadata\n }\n\n const main = Object.fromEntries(\n Object.entries(v2Main).map(([key, value]) => {\n if (value === undefined) {\n return [key, null]\n }\n\n return [key, value]\n })\n )\n\n const data: FormAdapterSubmissionMessageData = {\n main,\n ...v2Data\n }\n\n const result: FormAdapterSubmissionMessageResult = {\n files: csvFiles\n }\n\n const payload: FormAdapterSubmissionMessagePayload = {\n meta,\n data,\n result\n }\n\n return JSON.stringify(payload)\n}\n\nexport function getVersionMetadata(\n submittedVersionNumber: number | undefined,\n formMetadata?: FormMetadata\n): { versionNumber: number; createdAt: Date } | undefined {\n if (!formMetadata?.versions?.length) {\n return undefined\n }\n\n if (submittedVersionNumber !== undefined) {\n const submittedVersion = formMetadata.versions.find(\n (v) => v.versionNumber === submittedVersionNumber\n )\n if (submittedVersion) {\n return {\n versionNumber: submittedVersion.versionNumber,\n createdAt: submittedVersion.createdAt\n }\n }\n }\n\n // fallback to first available version\n const firstVersion = formMetadata.versions[0]\n return {\n versionNumber: firstVersion.versionNumber,\n createdAt: firstVersion.createdAt\n }\n}\n\nfunction extractCsvFiles(\n submitResponse: SubmitResponsePayload\n): FormAdapterSubmissionMessageResult['files'] {\n const result =\n submitResponse.result as Partial<FormAdapterSubmissionMessageResult>\n\n return {\n main: result.files?.main ?? '',\n repeaters: result.files?.repeaters ?? {}\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
type FormAdapterSubmissionMessageResult,
|
|
16
16
|
type FormContext
|
|
17
17
|
} from '~/src/server/plugins/engine/types.js'
|
|
18
|
-
import { FormStatus } from '~/src/server/routes/types.js'
|
|
19
18
|
|
|
20
19
|
export function format(
|
|
21
20
|
context: FormContext,
|
|
@@ -41,7 +40,7 @@ export function format(
|
|
|
41
40
|
formName: model.name,
|
|
42
41
|
formId: formMetadata?.id ?? '',
|
|
43
42
|
formSlug: formMetadata?.slug ?? '',
|
|
44
|
-
status: formStatus.
|
|
43
|
+
status: formStatus.state,
|
|
45
44
|
isPreview: formStatus.isPreview,
|
|
46
45
|
notificationEmail: formMetadata?.notificationEmail ?? ''
|
|
47
46
|
}
|