From fc8742d27982bb668ae4a450ba0a668a8e0e5425 Mon Sep 17 00:00:00 2001 From: Kiza Online Date: Tue, 25 Nov 2025 15:33:27 +1100 Subject: [PATCH] MS-1693 # Add `previousElapsedDurationSeconds` to `NewDraftSubmission` --- CHANGELOG.md | 4 ++++ package-lock.json | 8 ++++---- package.json | 4 ++-- src/services/api/drafts.ts | 2 ++ src/services/draft-data-store.ts | 2 ++ src/types/submissions.ts | 5 +++++ 6 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57b7af00..d74cd5fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Added + +- `previousElapsedDurationSeconds` to `NewDraftSubmission` + ## [23.5.0] - 2025-11-19 ### Added diff --git a/package-lock.json b/package-lock.json index ccb504f5..da222da0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,7 +28,7 @@ "@babel/plugin-transform-modules-commonjs": "^7.23.0", "@microsoft/eslint-plugin-sdl": "^0.2.0", "@oneblink/release-cli": "^3.4.0", - "@oneblink/types": "github:oneblink/types", + "@oneblink/types": "github:oneblink/types#MS-1694", "@types/file-saver": "^2.0.6", "@types/jest": "^27.5.0", "@types/lodash.clonedeep": "^4.5.8", @@ -3102,7 +3102,7 @@ }, "node_modules/@oneblink/types": { "version": "1.0.0", - "resolved": "git+ssh://git@github.com/oneblink/types.git#92be7238bdc985e6344f446af90481279bcbf7f3", + "resolved": "git+ssh://git@github.com/oneblink/types.git#a2da6e931dcbd59d788bfde36721bc21e40044d2", "dev": true, "license": "GPL-3.0-only", "dependencies": { @@ -15683,9 +15683,9 @@ } }, "@oneblink/types": { - "version": "git+ssh://git@github.com/oneblink/types.git#92be7238bdc985e6344f446af90481279bcbf7f3", + "version": "git+ssh://git@github.com/oneblink/types.git#a2da6e931dcbd59d788bfde36721bc21e40044d2", "dev": true, - "from": "@oneblink/types@github:oneblink/types", + "from": "@oneblink/types@github:oneblink/types#MS-1694", "requires": { "@types/google.maps": "^3.55.9" } diff --git a/package.json b/package.json index adc0d963..2d942e66 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@babel/plugin-transform-modules-commonjs": "^7.23.0", "@microsoft/eslint-plugin-sdl": "^0.2.0", "@oneblink/release-cli": "^3.4.0", - "@oneblink/types": "github:oneblink/types", + "@oneblink/types": "github:oneblink/types#MS-1694", "@types/file-saver": "^2.0.6", "@types/jest": "^27.5.0", "@types/lodash.clonedeep": "^4.5.8", @@ -81,7 +81,7 @@ "release": "oneblink-release repository --no-name", "start": "tsc-watch", "test": "jest", - "types": "npm i --save-dev github:oneblink/types", + "types": "npm i --save-dev github:oneblink/types#MS-1694", "typescript": "tsc --noEmit", "update-dependents": "oneblink-release update-dependents --force" } diff --git a/src/services/api/drafts.ts b/src/services/api/drafts.ts index bcb441a0..86edd8d4 100644 --- a/src/services/api/drafts.ts +++ b/src/services/api/drafts.ts @@ -41,6 +41,8 @@ async function uploadDraftData( title: draftSubmission.title, lastElementUpdated: draftSubmission.lastElementUpdated, sectionState: draftSubmission.sectionState, + previousElapsedDurationSeconds: + draftSubmission.previousElapsedDurationSeconds, onProgress, abortSignal, }) diff --git a/src/services/draft-data-store.ts b/src/services/draft-data-store.ts index 6ade9e5f..e8a92bda 100644 --- a/src/services/draft-data-store.ts +++ b/src/services/draft-data-store.ts @@ -166,5 +166,7 @@ export async function getDraftSubmission( createdAt: latestFormSubmissionDraftVersion.createdAt, formSubmissionDraftId: formSubmissionDraft.id, sectionState: s3SubmissionData.sectionState, + previousElapsedDurationSeconds: + s3SubmissionData.previousElapsedDurationSeconds, }) } diff --git a/src/types/submissions.ts b/src/types/submissions.ts index 7c497613..724f0c89 100644 --- a/src/types/submissions.ts +++ b/src/types/submissions.ts @@ -25,6 +25,11 @@ export type NewDraftSubmission = BaseNewFormSubmission & { lastElementUpdated?: FormElement /** The state of sections before the draft was saved */ sectionState?: SubmissionTypes.NewS3SubmissionData['sectionState'] + /** + * The elapsed duration in seconds the user took to complete the submission + * before the draft was saved + */ + previousElapsedDurationSeconds?: SubmissionTypes.NewS3SubmissionData['previousElapsedDurationSeconds'] } export type NewFormSubmission = BaseNewFormSubmission & {