@actual-app/sync-server 25.11.0-nightly.20251021 → 25.11.0-nightly.20251022
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -18,3 +18,164 @@ export const banks = await loadBanks();
|
|
|
18
18
|
export function BankFactory(institutionId) {
|
|
19
19
|
return (banks.find(b => b.institutionIds.includes(institutionId)) || IntegrationBank);
|
|
20
20
|
}
|
|
21
|
+
// this list contains banks that are known by GoCardless to only provide
|
|
22
|
+
// continuous access if the EUA has max_historical_days <= 90
|
|
23
|
+
// please do not add to this list unless the institution ID appears in
|
|
24
|
+
// https://bankaccountdata.zendesk.com/hc/en-gb/articles/11529718632476-Extended-history-and-continuous-access-edge-cases
|
|
25
|
+
const SPECIAL_CONTINUOUS_ACCESS_BANKS = [
|
|
26
|
+
'BRED_BREDFRPPXXX',
|
|
27
|
+
'INDUSTRA_MULTLV2X',
|
|
28
|
+
'MEDICINOSBANK_MDBALT22XXX',
|
|
29
|
+
'CESKA_SPORITELNA_GIBACZPX',
|
|
30
|
+
'LHV_LHVBEE22',
|
|
31
|
+
'LUMINOR_*',
|
|
32
|
+
'SWEDBANK_*',
|
|
33
|
+
'SEB_*',
|
|
34
|
+
'LABORALKUTXA_CLPEES2M*',
|
|
35
|
+
'BANKINTER_BKBKESMM*',
|
|
36
|
+
'CAIXABANK_CAIXESBB',
|
|
37
|
+
'SANTANDER_DE_SCFBDE33',
|
|
38
|
+
'BBVA_BBVAESMM',
|
|
39
|
+
'COOP_EKRDEE22*',
|
|
40
|
+
'BANCA_AIDEXA_AIDXITMM',
|
|
41
|
+
'BANCA_PATRIMONI_SENVITT1',
|
|
42
|
+
'BANCA_SELLA_SELBIT2B',
|
|
43
|
+
'CARTALIS_CIMTITR1',
|
|
44
|
+
'DOTS_HYEEIT22',
|
|
45
|
+
'HYPE_BUSINESS_HYEEIT22',
|
|
46
|
+
'HYPE_HYEEIT2',
|
|
47
|
+
'ILLIMITY_ITTPIT2M',
|
|
48
|
+
'SMARTIKA_SELBIT22',
|
|
49
|
+
'TIM_HYEEIT22',
|
|
50
|
+
'TOT_SELBIT2B',
|
|
51
|
+
'OPYN_BITAITRRB2B',
|
|
52
|
+
'PAYTIPPER_PAYTITM1',
|
|
53
|
+
'SELLA_PERSONAL_CREDIT_SELBIT22',
|
|
54
|
+
'SIAULIU_BANKAS_CBSBLT26XXX',
|
|
55
|
+
'INTESA_SANPAOLO_CORPORATE_BCITITMMXXX',
|
|
56
|
+
'AGRICOLE_HBW_CRPPIT2P',
|
|
57
|
+
'AGRICOLE_NET2_CRPPIT2P',
|
|
58
|
+
'AGRICOLE_SBW_CRPPIT2P',
|
|
59
|
+
'ALTO_ADIGE_BANCA_SUDTIROL_BANK_ALOAIT21',
|
|
60
|
+
'BANCATER_CREDITO_COOPERATIVO_FVG_CCRTIT2TTER',
|
|
61
|
+
'BANCA_ADRIA_COLLI_EUGANEI_CCRTIT2T97A',
|
|
62
|
+
'BANCA_AKROS_AKROITMM',
|
|
63
|
+
'BANCA_ALETTI_ALETITMM',
|
|
64
|
+
'BANCA_ALTO_VICENTINO_CREDITO_COOPERATIVO_DI_SCHIO_PEDEMONTE_E_ROANA_CCRTIT2TF01',
|
|
65
|
+
'BANCA_CENTRO_EMILIA_CCRTIT2TBCE',
|
|
66
|
+
'BANCA_CENTRO_LAZIO_CCRTIT2TBCL',
|
|
67
|
+
'BANCA_CESARE_BCEPITMM',
|
|
68
|
+
'BANCA_DEL_TERRITORIO_LOMBARDO_CCRTIT2TBTL',
|
|
69
|
+
'BANCA_DI_BOLOGNA_BDBOIT21',
|
|
70
|
+
'BANCA_DI_CARAGLIO_DEL_CUNEESE_E_DELLA_RIVIERA_DEI_FIORI_CCRTIT2TCAR',
|
|
71
|
+
'BANCA_DI_MACERATA_PRACIT31',
|
|
72
|
+
'BANCA_DI_RISPARMIO_DI_SAVIGLIANO_SARCIT2SXXX',
|
|
73
|
+
'BANCA_EUROMOBILIARE_EUBAITM1',
|
|
74
|
+
'BANCA_FIDEURAM_FIBKITMM',
|
|
75
|
+
'BANCA_GALILEO_GAEOITM1',
|
|
76
|
+
'BANCA_LAZIO_NORD_CREDITO_COOPERATIVO_SOC_COOP_PER_AZIONI_CCRTIT2TVIT',
|
|
77
|
+
'BANCA_MALATESTIANA_CCRTIT2TMAL',
|
|
78
|
+
'BANCA_MONTE_CORPORATE_PASCITMM',
|
|
79
|
+
'BANCA_MONTE_RETAIL_PASCITMM',
|
|
80
|
+
'BANCA_NAZIONALE_DEL_LAVORO_BNLIITRRXXX',
|
|
81
|
+
'BANCA_NAZIONALE_DEL_LAVORO_CORPORATE_BNLIITRRXXX',
|
|
82
|
+
'BANCA_PASSADORE_PASBITGGXXX',
|
|
83
|
+
'BANCA_POPOLARE_DELLE_PROVINCIE_MOLISANE_PPMSIT31',
|
|
84
|
+
'BANCA_POPOLARE_DEL_CASSINATE_PER_AZIONI_POCAIT3C',
|
|
85
|
+
'BANCA_POPOLARE_DI_CORTONA_PER_AZIONI_POCSIT31019',
|
|
86
|
+
'BANCA_POPOLARE_DI_LAJATICO_BLJAIT3LXXX',
|
|
87
|
+
'BANCA_POPOLARE_DI_SONDRIO_POSOIT22XXX',
|
|
88
|
+
'BANCA_POPOLARE_VESUVIANA_POVEIT33',
|
|
89
|
+
'BANCA_PROMOS_PROSITNN',
|
|
90
|
+
'BANCA_SANTA_GIULIA_SGIUIT21',
|
|
91
|
+
'BANCA_SICANA_DI_SOMMATINO_SERRADIFALCO_E_SAMBUCA_DI_SICILIA_CCRTIT2TNIS',
|
|
92
|
+
'BANCO_BPM_CORP_BAPPIT22',
|
|
93
|
+
'BANCO_BPM_WEBANK_BAPPIT22',
|
|
94
|
+
'BANCO_BPM_WEB_BAPPIT22',
|
|
95
|
+
'BANCO_MARCHIGIANO_CREDITO_COOPERATIVO_CCRTIT2TCIV',
|
|
96
|
+
'BCC_CASSA_RURALE_DI_VAL_DI_FIEMME_CCRTIT2T50A',
|
|
97
|
+
'BCC_DEI_CASTELLI_E_DEGLI_IBLEI_CCRTIT2TIBL',
|
|
98
|
+
'BCC_DEI_CASTELLI_ROMANI_CCRTIT2TCRT',
|
|
99
|
+
'BCC_DELLALTA_MURGIA_CCRTIT2TMUR',
|
|
100
|
+
'BCC_DELLALTO_TIRRENO_DELLA_CALABRIA_VERBICARO_CCRTIT2TATC',
|
|
101
|
+
'BCC_DELLA_ROMAGNA_OCCIDENTALE_CCRTIT2TROC',
|
|
102
|
+
'BCC_DELLE_PREALPI_CCRTIT2TPRE',
|
|
103
|
+
'BCC_DEL_CIRCEO_E_PRIVERNATE_CCRTIT2TCIR',
|
|
104
|
+
'BCC_DEL_FRIULI_CENTRALE_ICRAITRRU50',
|
|
105
|
+
'BCC_DI_ALBEROBELLO_E_SAMMICHELE_DI_BARI_CCRTIT2TALB',
|
|
106
|
+
'BCC_DI_ANAGNI_CCRTIT2TN00',
|
|
107
|
+
'BCC_DI_AQUARA_CCRTIT2TAQU',
|
|
108
|
+
'BCC_DI_BARLASSINA_MILANO_ICRAITRRAE0',
|
|
109
|
+
'BCC_DI_BRESCIA_CREDITO_COOPERATIVO_DI_BRESCIA_CCRTIT2TH00',
|
|
110
|
+
'BCC_DI_CASALGRASSO_E_SANTALBANO_STURA_CCRTIT2TCSS',
|
|
111
|
+
'BCC_DI_CASSANO_DELLE_MURGE_E_TOLVE_CCRTIT2TCSM',
|
|
112
|
+
'BCC_DI_CASTAGNETO_CARDUCCI_PER_AZIONI_BCCDIT3C',
|
|
113
|
+
'BCC_DI_CHERASCO_CCRTIT2TCHE',
|
|
114
|
+
'BCC_DI_CONVERSANO_CCRTIT2TT00',
|
|
115
|
+
'BCC_DI_FLUMERI_ICRAITRRFD0',
|
|
116
|
+
'BCC_DI_LOCOROTONDO_CASSA_RURALE_ED_ARTIGIANA_CCRTIT2TLND',
|
|
117
|
+
'BCC_DI_PIANFEI_E_ROCCA_DE_BALDI_ICRAITRRKX0',
|
|
118
|
+
'BCC_DI_SAN_GIOVANNI_ROTONDO_CCRTIT2TSGR',
|
|
119
|
+
'BCC_DI_SAN_MARZANO_DI_SAN_GIUSEPPE_TARANTO_CCRTIT2TSMZ',
|
|
120
|
+
'BCC_DI_SARSINA_CCRTIT2TSAR',
|
|
121
|
+
'BCC_DI_SPELLO_E_BETTONA_CCRTIT2TSBE',
|
|
122
|
+
'BCC_FELSINEA_CCRTIT2TFEL',
|
|
123
|
+
'BCC_LAUDENSE_LODI_MILANO_CCRTIT2TLAU',
|
|
124
|
+
'BCC_LA_RISCOSSA_DI_REGALBUTO_CCRTIT2TO00',
|
|
125
|
+
'BCC_MONTE_PRUNO_DI_ROSCIGNO_E_DI_LAURINO_CCRTIT2TMPR',
|
|
126
|
+
'BCC_SANGRO_TAETINA_DI_ATESSA_CASTIGLIONE_GIULIANO_CCRTIT2TTEA',
|
|
127
|
+
'BCC_VALDOSTANA_CCRTIT2TVAL',
|
|
128
|
+
'BENE_BANCA_CREDITO_COOPERATIVO_DI_BENE_VAGIENNA_CUNEO_CCRTIT2TBENBPER_CORP_BPMOIT22',
|
|
129
|
+
'BPER_RETAIL_BPMOIT22',
|
|
130
|
+
'CASSA_CENTRALE_BANCA_CCRTIT2T',
|
|
131
|
+
'CASSA_PADANA_BCC_CCRTIT2TPAD',
|
|
132
|
+
'CASSA_RAIFFEISEN_DI_SAN_MARTINO_IN_PASSIRIA_ICRAITRR6A0',
|
|
133
|
+
'CASSA_RURALE_ALTA_VALLAGARINA_DI_BESENELLO_CALLIANO_NOMI_VOLANO_BANCA_DI_CEDITO_COOPERATIVO_CCRTIT2T77A',
|
|
134
|
+
'CASSA_RURALE_ALTA_VALSUGANA_BCC_CCRTIT2T47A',
|
|
135
|
+
'CASSA_RURALE_ALTO_GARDA_BCC_CCRTIT2T04A',
|
|
136
|
+
'CASSA_RURALE_DELLA_BASSA_VALSUGANA_BCC_CCRTIT2T27A',
|
|
137
|
+
'CASSA_RURALE_DI_LEDRO_BCC_CCRTIT2T06A',
|
|
138
|
+
'CASSA_RURALE_DI_TRENTO_BCC_CCRTIT2T76A',
|
|
139
|
+
'CASSA_RURALE_DOLOMITI_DI_FASSA_PRIMIERO_E_BELLUNO_BCC_CCRTIT2T38A',
|
|
140
|
+
'CASSA_RURALE_ED_ARTIGIANA_DI_BOVES_BCC_ICRAITRRB10',
|
|
141
|
+
'CASSA_RURALE_ED_ARTIGIANA_DI_CORTINA_DAMPEZZO_E_DELLE_DOLOMITI_CCRTIT2T95A',
|
|
142
|
+
'CASSA_RURALE_GIUDICARIE_VALSABBIA_PAGANELLA_BCC_CCRTIT2T20A',
|
|
143
|
+
'CASSA_RURALE_NOVELLA_E_ALTA_ANAUNIA_BCC_CCRTIT2T54A',
|
|
144
|
+
'CASSA_RURALE_RENON_CCRTIT2TRIT',
|
|
145
|
+
'CASSA_RURALE_ROTALIANA_E_GIOVO_BCC_CCRTIT2T37A',
|
|
146
|
+
'CASSA_RURALE_VALLAGARINA_BCC_CCRTIT2T01A',
|
|
147
|
+
'CASSA_RURALE_VAL_DI_NON_BCC_CCRTIT2T73A',
|
|
148
|
+
'CASSA_RURALE_VAL_DI_SOLE_BCC_CCRTIT2T43A',
|
|
149
|
+
'CENTROVENETO_BASSANO_BANCA_ICRAITRRGE0',
|
|
150
|
+
'CHEBANCA_CORP_MICSITM1',
|
|
151
|
+
'CREDEM_CORP_BACRIT22',
|
|
152
|
+
'CREDEM_RETAIL_BACRIT22',
|
|
153
|
+
'CREDITO_COOPERATIVO_CASSA_RURALE_ED_ARTIGIANA_DEL_FRIULI_VENEZIA_GIULIA_CCRTI2T96A',
|
|
154
|
+
'CREDITO_COOPERATIVO_CENTRO_CALABRIA_CCRTIT2TCA',
|
|
155
|
+
'CREDITO_ETNEO_BCC_CCRTIT2TETN',
|
|
156
|
+
'CREDITO_LOMBARDO_VENETO_CRLVIT21',
|
|
157
|
+
'FINDOMESTIC_FIDMIT31',
|
|
158
|
+
'FRIULOVEST_BANCA_CCRTIT2TFOB',
|
|
159
|
+
'GUBER_BANCA_GUBEIT21',
|
|
160
|
+
'HELLO_BANK_BNLIITRRXXX',
|
|
161
|
+
'HYPO_TIROL_BANK_HYPTIT2B',
|
|
162
|
+
'INTESA_SANPAOLO_BCITITMMXXX',
|
|
163
|
+
'INTESA_SANPAOLO_CORPORATE_BCITITMMXXX',
|
|
164
|
+
'INTESA_SANPAOLO_PRIVATE_BCITITMMXXX',
|
|
165
|
+
'ISYBANK_ITBBITMM',
|
|
166
|
+
'MEDIOCREDITO_TRENTINO_ALTO_ADIGE_CCRTIT2TM00',
|
|
167
|
+
'POSTE_ITALIANE_BANCO_POSTA_BPPIITRRXXX',
|
|
168
|
+
'POSTE_ITALIANE_BANCO_POSTA_CORPORATE_BPPIITRRXXX',
|
|
169
|
+
'POSTE_PAY_BPPIITRRXXX',
|
|
170
|
+
'PRADER_BANK_PRRDIT21XXX',
|
|
171
|
+
'ROMAGNABANCA_CCRTIT2TRMB',
|
|
172
|
+
'ROVIGO_BANCA_ICRAITRRCK0',
|
|
173
|
+
'SARDEGNA_CORP_SARDIT31',
|
|
174
|
+
'SARDEGNA_RETAIL_SARDIT31',
|
|
175
|
+
'SOLUTION_BANK_CRDRIT2FXXX',
|
|
176
|
+
'WIDIBA_WIDIITMM',
|
|
177
|
+
'ZADRUZNA_KRASKA_BANKA_TRST_GORICA_ZADRUGA_CCRTIT2TV00',
|
|
178
|
+
].map(i => i.replace('*', ''));
|
|
179
|
+
export function isSpecialContinuousAccessBank(institutionId) {
|
|
180
|
+
return SPECIAL_CONTINUOUS_ACCESS_BANKS.some(i => institutionId.startsWith(i));
|
|
181
|
+
}
|
|
@@ -2,7 +2,7 @@ import jwt from 'jws';
|
|
|
2
2
|
import * as nordigenNode from 'nordigen-node';
|
|
3
3
|
import { v4 as uuidv4 } from 'uuid';
|
|
4
4
|
import { SecretName, secretsService } from '../../services/secrets-service.js';
|
|
5
|
-
import { BankFactory } from '../bank-factory.js';
|
|
5
|
+
import { BankFactory, isSpecialContinuousAccessBank } from '../bank-factory.js';
|
|
6
6
|
import { AccessDeniedError, AccountNotLinkedToRequisition, GenericGoCardlessError, InvalidInputDataError, InvalidGoCardlessTokenError, NotFoundError, RateLimitError, ResourceSuspended, RequisitionNotLinked, ServiceError, UnknownError, } from '../errors.js';
|
|
7
7
|
const GoCardlessClient = nordigenNode.default;
|
|
8
8
|
const clients = new Map();
|
|
@@ -239,7 +239,9 @@ export const goCardlessService = {
|
|
|
239
239
|
institutionId,
|
|
240
240
|
referenceId: uuidv4(),
|
|
241
241
|
accessValidForDays: institution.max_access_valid_for_days,
|
|
242
|
-
maxHistoricalDays:
|
|
242
|
+
maxHistoricalDays: isSpecialContinuousAccessBank(institutionId)
|
|
243
|
+
? 90
|
|
244
|
+
: institution.transaction_total_days,
|
|
243
245
|
userLanguage: 'en',
|
|
244
246
|
ssn: null,
|
|
245
247
|
redirectImmediate: false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actual-app/sync-server",
|
|
3
|
-
"version": "25.11.0-nightly.
|
|
3
|
+
"version": "25.11.0-nightly.20251022",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "actual syncing server",
|
|
6
6
|
"bin": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"start-monitor": "nodemon --exec 'tsc && node build/app' --ignore './build/**/*' --ext 'ts,js' build/app",
|
|
18
18
|
"build": "tsc && yarn copy-static-assets",
|
|
19
19
|
"copy-static-assets": "rm -rf build/src/sql && cp -r src/sql build/src/sql",
|
|
20
|
-
"test": "NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules --trace-warnings' vitest",
|
|
20
|
+
"test": "NODE_ENV=test NODE_OPTIONS='--experimental-vm-modules --trace-warnings' vitest --run",
|
|
21
21
|
"db:migrate": "yarn build && cross-env NODE_ENV=development node build/src/scripts/run-migrations.js up",
|
|
22
22
|
"db:downgrade": "yarn build && cross-env NODE_ENV=development node build/src/scripts/run-migrations.js down",
|
|
23
23
|
"db:test-migrate": "yarn build && cross-env NODE_ENV=test node build/src/scripts/run-migrations.js up",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@actual-app/crdt": "2.1.0",
|
|
31
|
-
"@actual-app/web": "25.11.0-nightly.
|
|
31
|
+
"@actual-app/web": "25.11.0-nightly.20251022",
|
|
32
32
|
"bcrypt": "^6.0.0",
|
|
33
33
|
"better-sqlite3": "^12.4.1",
|
|
34
34
|
"convict": "^6.2.4",
|