diff --git a/src/libs/API/parameters/ResendValidateCodeParams.ts b/src/libs/API/parameters/ResendValidateCodeParams.ts index 2d7b692d763a..ac80be668546 100644 --- a/src/libs/API/parameters/ResendValidateCodeParams.ts +++ b/src/libs/API/parameters/ResendValidateCodeParams.ts @@ -5,7 +5,11 @@ type ResendValidateCodeBaseParams = { // Exclude reasons that require parameters - redefine them as separate types below to enforce their parameters are always passed reasonCode: Exclude< ValueOf, - typeof CONST.VALIDATE_CODE_REASONS.REVEAL_CARD_DETAILS | typeof CONST.VALIDATE_CODE_REASONS.REPLACE_CARD | typeof CONST.VALIDATE_CODE_REASONS.REPORT_CARD_FRAUD + | typeof CONST.VALIDATE_CODE_REASONS.REVEAL_CARD_DETAILS + | typeof CONST.VALIDATE_CODE_REASONS.REPLACE_CARD + | typeof CONST.VALIDATE_CODE_REASONS.REPORT_CARD_FRAUD + | typeof CONST.VALIDATE_CODE_REASONS.ADD_DELEGATE + | typeof CONST.VALIDATE_CODE_REASONS.UPDATE_DELEGATE >; }; @@ -24,6 +28,16 @@ type ResendValidateCodeForReportCardFraudParams = { reasonCardID: number; }; +type ResendValidateCodeForAddDelegateParams = { + reasonCode: typeof CONST.VALIDATE_CODE_REASONS.ADD_DELEGATE; + reasonTargetEmail: string; +}; + +type ResendValidateCodeForUpdateDelegateParams = { + reasonCode: typeof CONST.VALIDATE_CODE_REASONS.UPDATE_DELEGATE; + reasonTargetEmail: string; +}; + // Will be removed eventually type ResendValidateCodeNotYetImplementedParams = { reasonCode: null; @@ -34,6 +48,8 @@ type ResendValidateCodeParams = | ResendValidateCodeNotYetImplementedParams | ResendValidateCodeForRevealCardDetailsParams | ResendValidateCodeForReplaceCardParams - | ResendValidateCodeForReportCardFraudParams; + | ResendValidateCodeForReportCardFraudParams + | ResendValidateCodeForAddDelegateParams + | ResendValidateCodeForUpdateDelegateParams; export default ResendValidateCodeParams; diff --git a/src/pages/settings/Security/AddDelegate/ConfirmDelegateValidateCodePage.tsx b/src/pages/settings/Security/AddDelegate/ConfirmDelegateValidateCodePage.tsx index 38feb76a114c..af4bab643d47 100644 --- a/src/pages/settings/Security/AddDelegate/ConfirmDelegateValidateCodePage.tsx +++ b/src/pages/settings/Security/AddDelegate/ConfirmDelegateValidateCodePage.tsx @@ -19,6 +19,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; import type {ValueOf} from 'type-fest'; +import {CONST as COMMON_CONST} from 'expensify-common'; import React, {useEffect} from 'react'; type ConfirmDelegateValidateCodePageProps = PlatformStackScreenProps; @@ -57,7 +58,8 @@ function ConfirmDelegateValidateCodePage({route}: ConfirmDelegateValidateCodePag onClose={() => Navigation.goBack(ROUTES.SETTINGS_DELEGATE_CONFIRM.getRoute(login, role))} validateError={validateLoginError} title={translate('delegate.makeSureItIsYou')} - sendValidateCode={() => requestValidateCodeAction()} + sendValidateCode={() => requestValidateCodeAction({reasonCode: COMMON_CONST.VALIDATE_CODE_REASONS.ADD_DELEGATE, reasonTargetEmail: login})} + validateCodeReasonCode={COMMON_CONST.VALIDATE_CODE_REASONS.ADD_DELEGATE} handleSubmitForm={(validateCode) => addDelegate({email: login, role, validateCode, delegatedAccess: account?.delegatedAccess})} descriptionPrimary={translate('delegate.enterSecurityCode', account?.primaryLogin ?? session?.email ?? '')} /> diff --git a/src/pages/settings/Security/AddDelegate/UpdateDelegateRole/UpdateDelegateValidateCodePage.tsx b/src/pages/settings/Security/AddDelegate/UpdateDelegateRole/UpdateDelegateValidateCodePage.tsx index d023234bdc06..72f3085eba71 100644 --- a/src/pages/settings/Security/AddDelegate/UpdateDelegateRole/UpdateDelegateValidateCodePage.tsx +++ b/src/pages/settings/Security/AddDelegate/UpdateDelegateRole/UpdateDelegateValidateCodePage.tsx @@ -18,6 +18,7 @@ import {isEmptyObject} from '@src/types/utils/EmptyObject'; import type {ValueOf} from 'type-fest'; +import {CONST as COMMON_CONST} from 'expensify-common'; import React, {useEffect} from 'react'; type UpdateDelegateValidateCodePageProps = PlatformStackScreenProps; @@ -54,7 +55,8 @@ function UpdateDelegateValidateCodePage({route}: UpdateDelegateValidateCodePageP onClose={() => Navigation.goBack(ROUTES.SETTINGS_UPDATE_DELEGATE_ROLE.getRoute(login, currentDelegate?.role ?? ''))} validateError={updateDelegateErrors} title={translate('delegate.makeSureItIsYou')} - sendValidateCode={() => requestValidateCodeAction()} + sendValidateCode={() => requestValidateCodeAction({reasonCode: COMMON_CONST.VALIDATE_CODE_REASONS.UPDATE_DELEGATE, reasonTargetEmail: login})} + validateCodeReasonCode={COMMON_CONST.VALIDATE_CODE_REASONS.UPDATE_DELEGATE} handleSubmitForm={(validateCode) => updateDelegateRole({email: login, role: newRole, validateCode, delegatedAccess: account?.delegatedAccess})} descriptionPrimary={translate('delegate.enterSecurityCode', account?.primaryLogin ?? session?.email ?? '')} />