Skip to content

Commit b6eae36

Browse files
mountinyOSBotify
authored andcommitted
Merge pull request #51384 from narefyev91/add-bank-urls
[CP Staging] [NO QA]: Add bank urls to Company Card flow (cherry picked from commit 7e5910e) (CP triggered by mountiny)
1 parent cb45d58 commit b6eae36

File tree

5 files changed

+24
-16
lines changed

5 files changed

+24
-16
lines changed

src/CONST.ts

+1
Original file line numberDiff line numberDiff line change
@@ -2635,6 +2635,7 @@ const CONST = {
26352635
},
26362636
BANK_CONNECTIONS: {
26372637
WELLS_FARGO: 'wellsfargo',
2638+
BANK_OF_AMERICA: 'bankofamerica',
26382639
CHASE: 'chase',
26392640
BREX: 'brex',
26402641
CAPITAL_ONE: 'capitalone',

src/libs/actions/getCompanyCardBankConnection/index.tsx

+10-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import {getApiRoot} from '@libs/ApiUtils';
22
import * as NetworkStore from '@libs/Network/NetworkStore';
3+
import * as PolicyUtils from '@libs/PolicyUtils';
34
import CONST from '@src/CONST';
45

56
type CompanyCardBankConnection = {
@@ -10,22 +11,20 @@ type CompanyCardBankConnection = {
1011
isNewDot: string;
1112
};
1213

13-
// TODO remove this when BE will support bank UI callbacks
14-
const bankUrl = 'https://secure.chase.com/web/auth/#/logon/logon/chaseOnline?redirect_url=';
15-
16-
export default function getCompanyCardBankConnection(bankName?: string, domainName?: string, scrapeMinDate?: string) {
14+
export default function getCompanyCardBankConnection(policyID?: string, bankName?: string, scrapeMinDate?: string) {
1715
const bankConnection = Object.keys(CONST.COMPANY_CARDS.BANKS).find((key) => CONST.COMPANY_CARDS.BANKS[key as keyof typeof CONST.COMPANY_CARDS.BANKS] === bankName);
1816

19-
// TODO remove this when BE will support bank UI callbacks
20-
if (!domainName) {
21-
return bankUrl;
22-
}
23-
24-
if (!bankName || !bankConnection) {
17+
if (!bankName || !bankConnection || !policyID) {
2518
return null;
2619
}
2720
const authToken = NetworkStore.getAuthToken();
28-
const params: CompanyCardBankConnection = {authToken: authToken ?? '', isNewDot: 'true', domainName: domainName ?? '', isCorporate: 'true', scrapeMinDate: scrapeMinDate ?? ''};
21+
const params: CompanyCardBankConnection = {
22+
authToken: authToken ?? '',
23+
isNewDot: 'true',
24+
domainName: PolicyUtils.getDomainNameForPolicy(policyID),
25+
isCorporate: 'true',
26+
scrapeMinDate: scrapeMinDate ?? '',
27+
};
2928
const commandURL = getApiRoot({
3029
shouldSkipWebProxy: true,
3130
command: '',

src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) {
3030
case CONST.COMPANY_CARDS.STEP.CARD_TYPE:
3131
return <CardTypeStep />;
3232
case CONST.COMPANY_CARDS.STEP.BANK_CONNECTION:
33-
return <BankConnection />;
33+
return <BankConnection policyID={policyID} />;
3434
case CONST.COMPANY_CARDS.STEP.CARD_INSTRUCTIONS:
3535
return <CardInstructionsStep policyID={policyID} />;
3636
case CONST.COMPANY_CARDS.STEP.CARD_NAME:

src/pages/workspace/companyCards/addNew/BankConnection/index.native.tsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ import getCompanyCardBankConnection from '@userActions/getCompanyCardBankConnect
1313
import CONST from '@src/CONST';
1414
import ONYXKEYS from '@src/ONYXKEYS';
1515

16-
function BankConnection() {
16+
type BankConnectionStepProps = {
17+
policyID?: string;
18+
};
19+
20+
function BankConnection({policyID}: BankConnectionStepProps) {
1721
const {translate} = useLocalize();
1822
const webViewRef = useRef<WebView>(null);
1923
const [isWebViewOpen, setWebViewOpen] = useState(false);
2024
const [session] = useOnyx(ONYXKEYS.SESSION);
2125
const authToken = session?.authToken ?? null;
2226
const [addNewCard] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD);
2327
const bankName: ValueOf<typeof CONST.COMPANY_CARDS.BANKS> | undefined = addNewCard?.data?.selectedBank;
24-
const url = getCompanyCardBankConnection(bankName);
28+
const url = getCompanyCardBankConnection(policyID, bankName);
2529

2630
const renderLoading = () => <FullScreenLoadingIndicator />;
2731

src/pages/workspace/companyCards/addNew/BankConnection/index.tsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,18 @@ import openBankConnection from './openBankConnection';
1919

2020
let customWindow: Window | null = null;
2121

22-
function BankConnection() {
22+
type BankConnectionStepProps = {
23+
policyID?: string;
24+
};
25+
26+
function BankConnection({policyID}: BankConnectionStepProps) {
2327
const styles = useThemeStyles();
2428
const {translate} = useLocalize();
2529
const [addNewCard] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD);
2630
const bankName: ValueOf<typeof CONST.COMPANY_CARDS.BANKS> | undefined = addNewCard?.data?.selectedBank;
2731
const currentUrl = getCurrentUrl();
2832
const isBankConnectionCompleteRoute = currentUrl.includes(ROUTES.BANK_CONNECTION_COMPLETE);
29-
const url = getCompanyCardBankConnection(bankName);
33+
const url = getCompanyCardBankConnection(policyID, bankName);
3034

3135
const onOpenBankConnectionFlow = useCallback(() => {
3236
if (!url) {

0 commit comments

Comments
 (0)