Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/CONST.ts
Original file line number Diff line number Diff line change
Expand Up @@ -703,6 +703,7 @@ const CONST = {
TOTAL_FILES_SIZE_LIMIT: 5242880,
PURPOSE_OF_TRANSACTION_ID: 'Intercompany_Payment',
CURRENT_USER_KEY: 'currentUser',
CORPAY_UNDEFINED_OPTION_VALUE: 'Undefined',
STEP: {
COUNTRY: 'CountryStep',
BANK_INFO: 'BankInfoStep',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import useReimbursementAccountStepFormSubmit from '@hooks/useReimbursementAccoun
import type {SubStepProps} from '@hooks/useSubStep/types';
import useThemeStyles from '@hooks/useThemeStyles';
import {getFieldRequiredErrors} from '@libs/ValidationUtils';
import getListOptionsFromCorpayPicklist from '@pages/ReimbursementAccount/NonUSD/utils/getListOptionsFromCorpayPicklist';
import ONYXKEYS from '@src/ONYXKEYS';
import INPUT_IDS from '@src/types/form/ReimbursementAccountForm';

Expand All @@ -21,22 +22,13 @@ const STEP_FIELDS = [TRADE_VOLUME];
function AverageReimbursement({onNext, isEditing}: AverageReimbursementProps) {
const {translate} = useLocalize();
const styles = useThemeStyles();
const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT);
const [corpayOnboardingFields] = useOnyx(ONYXKEYS.CORPAY_ONBOARDING_FIELDS);
const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT, {canBeMissing: false});
const [corpayOnboardingFields] = useOnyx(ONYXKEYS.CORPAY_ONBOARDING_FIELDS, {canBeMissing: false});
const policyID = reimbursementAccount?.achData?.policyID;
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`);
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {canBeMissing: false});
const currency = policy?.outputCurrency ?? '';

const tradeVolumeRangeListOptions = useMemo(() => {
if (!corpayOnboardingFields?.picklists.TradeVolumeRange) {
return {};
}

return corpayOnboardingFields.picklists.TradeVolumeRange.reduce((accumulator, currentValue) => {
accumulator[currentValue.name] = currentValue.stringValue;
return accumulator;
}, {} as Record<string, string>);
}, [corpayOnboardingFields]);
const tradeVolumeRangeListOptions = useMemo(() => getListOptionsFromCorpayPicklist(corpayOnboardingFields?.picklists.TradeVolumeRange), [corpayOnboardingFields]);

const tradeVolumeDefaultValue = reimbursementAccount?.achData?.corpay?.[TRADE_VOLUME] ?? '';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import useReimbursementAccountStepFormSubmit from '@hooks/useReimbursementAccoun
import type {SubStepProps} from '@hooks/useSubStep/types';
import useThemeStyles from '@hooks/useThemeStyles';
import {getFieldRequiredErrors} from '@libs/ValidationUtils';
import getListOptionsFromCorpayPicklist from '@pages/ReimbursementAccount/NonUSD/utils/getListOptionsFromCorpayPicklist';
import ONYXKEYS from '@src/ONYXKEYS';
import INPUT_IDS from '@src/types/form/ReimbursementAccountForm';

Expand All @@ -22,30 +23,11 @@ function BusinessType({onNext, isEditing}: BusinessTypeProps) {
const {translate} = useLocalize();
const styles = useThemeStyles();

const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT);
const [corpayOnboardingFields] = useOnyx(ONYXKEYS.CORPAY_ONBOARDING_FIELDS);
const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT, {canBeMissing: false});
const [corpayOnboardingFields] = useOnyx(ONYXKEYS.CORPAY_ONBOARDING_FIELDS, {canBeMissing: false});

const incorporationTypeListOptions = useMemo(() => {
if (!corpayOnboardingFields?.picklists.ApplicantType) {
return {};
}

return corpayOnboardingFields.picklists.ApplicantType.reduce((accumulator, currentValue) => {
accumulator[currentValue.name] = currentValue.stringValue;
return accumulator;
}, {} as Record<string, string>);
}, [corpayOnboardingFields]);

const natureOfBusinessListOptions = useMemo(() => {
if (!corpayOnboardingFields?.picklists.NatureOfBusiness) {
return {};
}

return corpayOnboardingFields.picklists.NatureOfBusiness.reduce((accumulator, currentValue) => {
accumulator[currentValue.name] = currentValue.stringValue;
return accumulator;
}, {} as Record<string, string>);
}, [corpayOnboardingFields]);
const incorporationTypeListOptions = useMemo(() => getListOptionsFromCorpayPicklist(corpayOnboardingFields?.picklists.ApplicantType), [corpayOnboardingFields]);
const natureOfBusinessListOptions = useMemo(() => getListOptionsFromCorpayPicklist(corpayOnboardingFields?.picklists.NatureOfBusiness), [corpayOnboardingFields]);

const incorporationTypeDefaultValue = reimbursementAccount?.achData?.corpay?.[APPLICANT_TYPE_ID] ?? '';
const businessCategoryDefaultValue = reimbursementAccount?.achData?.corpay?.[BUSINESS_CATEGORY] ?? '';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import useReimbursementAccountStepFormSubmit from '@hooks/useReimbursementAccoun
import type {SubStepProps} from '@hooks/useSubStep/types';
import useThemeStyles from '@hooks/useThemeStyles';
import {getFieldRequiredErrors} from '@libs/ValidationUtils';
import getListOptionsFromCorpayPicklist from '@pages/ReimbursementAccount/NonUSD/utils/getListOptionsFromCorpayPicklist';
import ONYXKEYS from '@src/ONYXKEYS';
import INPUT_IDS from '@src/types/form/ReimbursementAccountForm';

Expand All @@ -21,22 +22,13 @@ const STEP_FIELDS = [ANNUAL_VOLUME];
function PaymentVolume({onNext, isEditing}: PaymentVolumeProps) {
const {translate} = useLocalize();
const styles = useThemeStyles();
const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT);
const [corpayOnboardingFields] = useOnyx(ONYXKEYS.CORPAY_ONBOARDING_FIELDS);
const [reimbursementAccount] = useOnyx(ONYXKEYS.REIMBURSEMENT_ACCOUNT, {canBeMissing: false});
const [corpayOnboardingFields] = useOnyx(ONYXKEYS.CORPAY_ONBOARDING_FIELDS, {canBeMissing: false});
const policyID = reimbursementAccount?.achData?.policyID;
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`);
const [policy] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${policyID}`, {canBeMissing: false});
const currency = policy?.outputCurrency ?? '';

const annualVolumeRangeListOptions = useMemo(() => {
if (!corpayOnboardingFields?.picklists.AnnualVolumeRange) {
return {};
}

return corpayOnboardingFields.picklists.AnnualVolumeRange.reduce((accumulator, currentValue) => {
accumulator[currentValue.name] = currentValue.stringValue;
return accumulator;
}, {} as Record<string, string>);
}, [corpayOnboardingFields]);
const annualVolumeRangeListOptions = useMemo(() => getListOptionsFromCorpayPicklist(corpayOnboardingFields?.picklists.AnnualVolumeRange), [corpayOnboardingFields]);

const annualVolumeDefaultValue = reimbursementAccount?.achData?.corpay?.[ANNUAL_VOLUME] ?? '';

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import CONST from '@src/CONST';
import type {Picklist} from '@src/types/onyx/CorpayOnboardingFields';

function getListOptionsFromCorpayPicklist(corpayPicklist: Picklist | undefined): Record<string, string> {
if (!corpayPicklist) {
return {};
}

return corpayPicklist.reduce((accumulator, currentValue) => {
if (currentValue.stringValue === CONST.NON_USD_BANK_ACCOUNT.CORPAY_UNDEFINED_OPTION_VALUE) {
return accumulator;
}

accumulator[currentValue.name] = currentValue.stringValue;
return accumulator;
}, {} as Record<string, string>);
}

export default getListOptionsFromCorpayPicklist;
2 changes: 1 addition & 1 deletion src/types/onyx/CorpayOnboardingFields.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ type CorpayOnboardingFields = {
picklists: Record<ValueOf<typeof CONST.NON_USD_BANK_ACCOUNT.BUSINESS_INFO_STEP.PICKLIST>, Picklist>;
};

export default CorpayOnboardingFields;
export type {CorpayOnboardingFields, Picklist};
2 changes: 1 addition & 1 deletion src/types/onyx/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import type {AddNewCompanyCardFeed, CompanyCardFeed, FundID} from './CardFeeds';
import type CardOnWaitlist from './CardOnWaitlist';
import type {CapturedLogs, Log} from './Console';
import type {CorpayFields, CorpayFormField} from './CorpayFields';
import type CorpayOnboardingFields from './CorpayOnboardingFields';
import type {CorpayOnboardingFields} from './CorpayOnboardingFields';
import type Credentials from './Credentials';
import type Currency from './Currency';
import type {CurrencyList} from './Currency';
Expand Down