@@ -48,7 +48,9 @@ import {
4848} from '../submission.errors'
4949import { sendEmailConfirmations } from '../submission.service'
5050import { ProcessedFieldResponse } from '../submission.types'
51- import { extractEmailConfirmationData } from '../submission.utils'
51+ import {
52+ extractEmailConfirmationData
53+ } from '../submission.utils'
5254
5355import { CHARTS_MAX_SUBMISSION_RESULTS } from './encrypt-submission.constants'
5456import { SaveEncryptSubmissionParams } from './encrypt-submission.types'
@@ -184,9 +186,7 @@ const generatePdfAttachmentIfRequired = ({
184186 autoReplyMailDatas : AutoReplyMailData [ ]
185187 submission : IEncryptedSubmissionSchema
186188 form : IPopulatedEncryptedForm
187- responsesData : ( Pick < EmailAdminDataField , 'question' | 'answerTemplate' > & {
188- answer ?: EmailAdminDataField [ 'answer' ]
189- } ) [ ]
189+ responsesData : EmailAdminDataField [ ]
190190} ) : ResultAsync < Mail . Attachment | undefined , AutoreplyPdfGenerationError > => {
191191 if (
192192 ! checkIfPdfGenerationIsRequired ( {
@@ -197,13 +197,20 @@ const generatePdfAttachmentIfRequired = ({
197197 return okAsync ( undefined )
198198 }
199199
200+ const pdfResponsesData = responsesData . map (
201+ ( { question, answerTemplate } ) => ( {
202+ question,
203+ answerTemplate,
204+ } ) ,
205+ )
206+
200207 const renderData : AutoreplySummaryRenderData = {
201208 refNo : submission . id ,
202209 formTitle : form . title ,
203210 submissionTime : moment ( submission . created )
204211 . tz ( 'Asia/Singapore' )
205212 . format ( 'ddd, DD MMM YYYY hh:mm:ss A' ) ,
206- formData : responsesData ,
213+ formData : pdfResponsesData ,
207214 formUrl : `${ config . app . appUrl } /${ form . _id } ` ,
208215 }
209216
@@ -281,14 +288,14 @@ export const performEncryptPostSubmissionActions = ({
281288 } )
282289 : [ ]
283290
284- const emailData = new SubmissionEmailObj (
291+ const { responsesData , dataCollationData } = new SubmissionEmailObj (
285292 emailFields ,
286293 new Set ( ) , // the MyInfo prefixes are already inserted in middleware
287294 form . authType ,
288295 )
289296 // Since we insert the [MyInfo] prefix in `encrypt-submission.middleware.ts`:L434
290297 // we want to remove it for the dataCollationData
291- const dataCollationData = emailData . dataCollationData . map ( ( item ) => ( {
298+ const formattedDataCollationData = dataCollationData . map ( ( item ) => ( {
292299 question : item . question . startsWith ( MYINFO_PREFIX )
293300 ? item . question . slice ( MYINFO_PREFIX . length )
294301 : item . question ,
@@ -309,7 +316,7 @@ export const performEncryptPostSubmissionActions = ({
309316 autoReplyMailDatas : recipientEmailDatas ,
310317 submission,
311318 form,
312- responsesData : emailData . formData ,
319+ responsesData,
313320 } )
314321
315322 return pdfAttachmentResult . andThen ( ( pdfAttachment ) => {
@@ -323,8 +330,8 @@ export const performEncryptPostSubmissionActions = ({
323330 id : submission . id ,
324331 } ,
325332 submissionAttachments,
326- formData : emailData . formData ,
327- dataCollationData,
333+ formData : responsesData ,
334+ dataCollationData : formattedDataCollationData ,
328335 pdfAttachment : checkIfAdminPdfIsRequired ( )
329336 ? pdfAttachment
330337 : undefined ,
@@ -342,7 +349,7 @@ export const performEncryptPostSubmissionActions = ({
342349 submission,
343350 submissionAttachments,
344351 recipientData : recipientEmailDatas ,
345- responsesData : emailData . formData ,
352+ responsesData,
346353 pdfAttachment : checkIfRespondentFormSummaryIsRequired ( {
347354 isPaymentEnabled,
348355 autoReplyMailDatas : recipientEmailDatas ,
0 commit comments