1+ import { GrowthBook } from '@growthbook/growthbook'
12import { encode as encodeBase64 } from '@stablelib/base64'
23import crypto from 'crypto'
34import StatusCodes from 'http-status-codes'
@@ -14,7 +15,11 @@ import {
1415import mongoose from 'mongoose'
1516import { err , ok , Result } from 'neverthrow'
1617
17- import { MULTIRESPONDENT_FORM_SUBMISSION_VERSION } from '../../../../shared/constants'
18+ import {
19+ AdminEmailPdfFeatureValue ,
20+ featureFlags ,
21+ MULTIRESPONDENT_FORM_SUBMISSION_VERSION ,
22+ } from '../../../../shared/constants'
1823import { FIELDS_TO_REJECT } from '../../../../shared/constants/field/basic'
1924import { MYINFO_ATTRIBUTE_MAP } from '../../../../shared/constants/field/myinfo'
2025import {
@@ -941,3 +946,26 @@ export const buildMrfMetadata = ({
941946 hasNextStepRecipientEmails,
942947 }
943948}
949+
950+ export const isAdminEmailPdfEnabled = ( {
951+ growthbook,
952+ formFields,
953+ } : {
954+ growthbook ?: GrowthBook
955+ formFields : FormFieldSchema [ ]
956+ } ) => {
957+ if ( ! growthbook ) {
958+ return false
959+ }
960+ const adminEmailPdfFeatureValue = growthbook . getFeatureValue (
961+ featureFlags . adminEmailPdf ,
962+ AdminEmailPdfFeatureValue . OFF ,
963+ )
964+ if ( adminEmailPdfFeatureValue === AdminEmailPdfFeatureValue . ON ) {
965+ return true
966+ }
967+ if ( adminEmailPdfFeatureValue === AdminEmailPdfFeatureValue . SIGNATURES_ONLY ) {
968+ return formFields . some ( ( field ) => field . fieldType === BasicField . Signature )
969+ }
970+ return false
971+ }
0 commit comments