Skip to content

Commit 084a135

Browse files
authored
Merge pull request Expensify#83192 from margelo/@chrispader/fix-bank-connection-refactoring
fix: PEX should not appear as addable bank connection
2 parents 0ce2161 + ee68587 commit 084a135

4 files changed

Lines changed: 17 additions & 11 deletions

File tree

src/CONST/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3798,10 +3798,11 @@ const CONST = {
37983798
STRIPE: 'Stripe',
37993799
WELLS_FARGO: 'Wells Fargo',
38003800
MOCK_BANK: 'Mock Bank',
3801-
PEX: 'PEX',
3802-
EXPENSIFY: 'Expensify',
38033801
OTHER: 'Other',
38043802
},
3803+
NON_CONNECTABLE_BANKS: {
3804+
PEX: 'PEX',
3805+
},
38053806
BANK_CONNECTIONS: {
38063807
WELLS_FARGO: 'wellsfargo',
38073808
BANK_OF_AMERICA: 'bankofamerica',

src/languages/de.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ const translations: TranslationDeepObject<typeof en> = {
714714
auf dem er ursprünglich angefordert wurde
715715
`),
716716
doNotShare: dedent(`
717-
Gib deinen Code an niemanden weiter.
717+
Gib deinen Code an niemanden weiter.
718718
Expensify wird niemals danach fragen!
719719
`),
720720
or: 'oder',

src/libs/CardUtils.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import type {
3636
CompanyCardFeedWithDomainID,
3737
CompanyCardFeedWithNumber,
3838
CompanyFeeds,
39+
NonConnectableBankName,
3940
} from '@src/types/onyx/CardFeeds';
4041
import {isEmptyObject} from '@src/types/utils/EmptyObject';
4142
import type IconAsset from '@src/types/utils/IconAsset';
@@ -574,10 +575,9 @@ function getBankName(feedType: CardFeedWithNumber | CardFeedWithDomainID): strin
574575
[CONST.COMPANY_CARD.FEED_BANK_NAME.BREX]: CONST.COMPANY_CARDS.BANKS.BREX,
575576
[CONST.COMPANY_CARD.FEED_BANK_NAME.AMEX_1205]: CONST.COMPANY_CARDS.BANKS.AMEX,
576577
[CONST.COMPANY_CARD.FEED_BANK_NAME.AMEX_FILE_DOWNLOAD]: CONST.COMPANY_CARDS.BANKS.AMEX,
577-
[CONST.COMPANY_CARD.FEED_BANK_NAME.PEX]: CONST.COMPANY_CARDS.BANKS.PEX,
578-
[CONST.EXPENSIFY_CARD.BANK]: CONST.COMPANY_CARDS.BANKS.AMEX,
579578
[CONST.COMPANY_CARD.FEED_BANK_NAME.MOCK_BANK]: CONST.COMPANY_CARDS.BANKS.MOCK_BANK,
580-
} satisfies Partial<Record<CardFeed, BankName | CardTypeName>>;
579+
[CONST.COMPANY_CARD.FEED_BANK_NAME.PEX]: CONST.COMPANY_CARDS.NON_CONNECTABLE_BANKS.PEX,
580+
} satisfies Partial<Record<CardFeed, BankName | NonConnectableBankName | CardTypeName>>;
581581

582582
// In existing OldDot setups other variations of feeds could exist, ex: vcf2, vcf3, oauth.americanexpressfdx.com 2003
583583
const feedKey = (Object.keys(feedNamesMapping) as Array<keyof typeof feedNamesMapping>).find((feed) => feedType?.startsWith(feed));
@@ -593,8 +593,8 @@ function getBankName(feedType: CardFeedWithNumber | CardFeedWithDomainID): strin
593593
return feedNamesMapping[feedKey];
594594
}
595595

596-
const getBankCardDetailsImage = (bank: ValueOf<typeof CONST.COMPANY_CARDS.BANKS>, illustrations: IllustrationsType, companyCardIllustrations: CompanyCardBankIcons): IconAsset => {
597-
const iconMap: Record<ValueOf<typeof CONST.COMPANY_CARDS.BANKS>, IconAsset> = {
596+
const getBankCardDetailsImage = (bank: BankName, illustrations: IllustrationsType, companyCardIllustrations: CompanyCardBankIcons): IconAsset => {
597+
const iconMap: Record<BankName, IconAsset> = {
598598
[CONST.COMPANY_CARDS.BANKS.AMEX]: companyCardIllustrations.AmexCardCompanyCardDetail,
599599
[CONST.COMPANY_CARDS.BANKS.BANK_OF_AMERICA]: companyCardIllustrations.BankOfAmericaCompanyCardDetail,
600600
[CONST.COMPANY_CARDS.BANKS.CAPITAL_ONE]: companyCardIllustrations.CapitalOneCompanyCardDetail,
@@ -604,8 +604,6 @@ const getBankCardDetailsImage = (bank: ValueOf<typeof CONST.COMPANY_CARDS.BANKS>
604604
[CONST.COMPANY_CARDS.BANKS.BREX]: companyCardIllustrations.BrexCompanyCardDetail,
605605
[CONST.COMPANY_CARDS.BANKS.STRIPE]: companyCardIllustrations.StripeCompanyCardDetail,
606606
[CONST.COMPANY_CARDS.BANKS.MOCK_BANK]: illustrations.GenericCompanyCard,
607-
[CONST.COMPANY_CARDS.BANKS.PEX]: illustrations.GenericCompanyCard,
608-
[CONST.COMPANY_CARDS.BANKS.EXPENSIFY]: Illustrations.ExpensifyCardImage,
609607
[CONST.COMPANY_CARDS.BANKS.OTHER]: illustrations.GenericCompanyCard,
610608
};
611609
return iconMap[bank];
@@ -740,7 +738,7 @@ function getPlaidCountry(outputCurrency?: string, currencyList?: CurrencyList, c
740738
return country ?? '';
741739
}
742740

743-
function getCorrectStepForPlaidSelectedBank(selectedBank: ValueOf<typeof CONST.COMPANY_CARDS.BANKS>) {
741+
function getCorrectStepForPlaidSelectedBank(selectedBank: BankName) {
744742
if (selectedBank === CONST.COMPANY_CARDS.BANKS.STRIPE) {
745743
return CONST.COMPANY_CARDS.STEP.CARD_INSTRUCTIONS;
746744
}

src/types/onyx/CardFeeds.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ type CardFeedWithDomainID = `${CardFeedWithNumber}${typeof CONST.COMPANY_CARD.FE
3232
*/
3333
type BankName = ValueOf<typeof CONST.COMPANY_CARDS.BANKS>;
3434

35+
/**
36+
* Bank name for card feeds that can be displayed in NewDot but cannot be added
37+
* as a new connection (e.g. banks without an OAuth or Plaid integration).
38+
*/
39+
type NonConnectableBankName = ValueOf<typeof CONST.COMPANY_CARDS.NON_CONNECTABLE_BANKS>;
40+
3541
/**
3642
*
3743
*/
@@ -321,6 +327,7 @@ export type {
321327
CardFeedWithNumber,
322328
CardFeedWithDomainID,
323329
BankName,
330+
NonConnectableBankName,
324331
CardType,
325332
CardTypeName,
326333
CompanyCardFeed,

0 commit comments

Comments
 (0)