@eleva-io/erp-sdk 0.1.52 → 0.1.53

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.
Files changed (153) hide show
  1. package/dist/cjs/modules/contacts/persons/api/index.d.ts +1 -0
  2. package/dist/cjs/modules/contacts/persons/api/index.d.ts.map +1 -1
  3. package/dist/cjs/modules/contacts/persons/api/index.js +1 -0
  4. package/dist/cjs/modules/contacts/persons/api/index.js.map +1 -1
  5. package/dist/cjs/modules/contacts/persons/api/payment-methods.d.ts +11 -0
  6. package/dist/cjs/modules/contacts/persons/api/payment-methods.d.ts.map +1 -0
  7. package/dist/cjs/modules/contacts/persons/api/payment-methods.js +27 -0
  8. package/dist/cjs/modules/contacts/persons/api/payment-methods.js.map +1 -0
  9. package/dist/cjs/modules/contacts/persons/api/persons.d.ts +2 -0
  10. package/dist/cjs/modules/contacts/persons/api/persons.d.ts.map +1 -1
  11. package/dist/cjs/modules/contacts/persons/api/persons.js +7 -0
  12. package/dist/cjs/modules/contacts/persons/api/persons.js.map +1 -1
  13. package/dist/cjs/modules/contacts/persons/types/index.d.ts +1 -0
  14. package/dist/cjs/modules/contacts/persons/types/index.d.ts.map +1 -1
  15. package/dist/cjs/modules/contacts/persons/types/index.js +1 -0
  16. package/dist/cjs/modules/contacts/persons/types/index.js.map +1 -1
  17. package/dist/cjs/modules/contacts/persons/types/payment-method.d.ts +13 -0
  18. package/dist/cjs/modules/contacts/persons/types/payment-method.d.ts.map +1 -0
  19. package/dist/cjs/modules/contacts/persons/types/payment-method.js +3 -0
  20. package/dist/cjs/modules/contacts/persons/types/payment-method.js.map +1 -0
  21. package/dist/cjs/modules/global/api.d.ts +2 -0
  22. package/dist/cjs/modules/global/api.d.ts.map +1 -1
  23. package/dist/cjs/modules/global/api.js +4 -0
  24. package/dist/cjs/modules/global/api.js.map +1 -1
  25. package/dist/cjs/modules/global/bank-account/api.d.ts +9 -0
  26. package/dist/cjs/modules/global/bank-account/api.d.ts.map +1 -0
  27. package/dist/cjs/modules/global/bank-account/api.js +16 -0
  28. package/dist/cjs/modules/global/bank-account/api.js.map +1 -0
  29. package/dist/cjs/modules/global/bank-account/index.d.ts +3 -0
  30. package/dist/cjs/modules/global/bank-account/index.d.ts.map +1 -0
  31. package/dist/cjs/modules/global/bank-account/index.js +19 -0
  32. package/dist/cjs/modules/global/bank-account/index.js.map +1 -0
  33. package/dist/cjs/modules/global/bank-account/types.d.ts +14 -0
  34. package/dist/cjs/modules/global/bank-account/types.d.ts.map +1 -0
  35. package/dist/cjs/modules/global/bank-account/types.js +10 -0
  36. package/dist/cjs/modules/global/bank-account/types.js.map +1 -0
  37. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.d.ts +22 -0
  38. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.d.ts.map +1 -0
  39. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.js +214 -0
  40. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.js.map +1 -0
  41. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.d.ts +15 -0
  42. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.d.ts.map +1 -0
  43. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.js +66 -0
  44. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.js.map +1 -0
  45. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.d.ts +5 -0
  46. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.d.ts.map +1 -0
  47. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.js +206 -0
  48. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.js.map +1 -0
  49. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.d.ts +16 -0
  50. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.d.ts.map +1 -0
  51. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.js +401 -0
  52. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.js.map +1 -0
  53. package/dist/cjs/modules/global/index.d.ts +1 -0
  54. package/dist/cjs/modules/global/index.d.ts.map +1 -1
  55. package/dist/cjs/modules/global/index.js +1 -0
  56. package/dist/cjs/modules/global/index.js.map +1 -1
  57. package/dist/cjs/modules/global/types.d.ts +11 -0
  58. package/dist/cjs/modules/global/types.d.ts.map +1 -1
  59. package/dist/cjs/modules/global/types.js +5 -1
  60. package/dist/cjs/modules/global/types.js.map +1 -1
  61. package/dist/cjs/modules/global/validations/payment_method.d.ts +3 -0
  62. package/dist/cjs/modules/global/validations/payment_method.d.ts.map +1 -0
  63. package/dist/cjs/modules/global/validations/payment_method.js +74 -0
  64. package/dist/cjs/modules/global/validations/payment_method.js.map +1 -0
  65. package/dist/cjs/modules/global/validations/payment_method.spec.d.ts +2 -0
  66. package/dist/cjs/modules/global/validations/payment_method.spec.d.ts.map +1 -0
  67. package/dist/cjs/modules/global/validations/payment_method.spec.js +127 -0
  68. package/dist/cjs/modules/global/validations/payment_method.spec.js.map +1 -0
  69. package/dist/cjs/utils/errors.d.ts +15 -0
  70. package/dist/cjs/utils/errors.d.ts.map +1 -0
  71. package/dist/cjs/utils/errors.js +21 -0
  72. package/dist/cjs/utils/errors.js.map +1 -0
  73. package/dist/cjs/utils/index.d.ts +1 -0
  74. package/dist/cjs/utils/index.d.ts.map +1 -1
  75. package/dist/cjs/utils/index.js +1 -0
  76. package/dist/cjs/utils/index.js.map +1 -1
  77. package/dist/esm/modules/contacts/persons/api/index.d.ts +1 -0
  78. package/dist/esm/modules/contacts/persons/api/index.d.ts.map +1 -1
  79. package/dist/esm/modules/contacts/persons/api/index.js +1 -0
  80. package/dist/esm/modules/contacts/persons/api/index.js.map +1 -1
  81. package/dist/esm/modules/contacts/persons/api/payment-methods.d.ts +11 -0
  82. package/dist/esm/modules/contacts/persons/api/payment-methods.d.ts.map +1 -0
  83. package/dist/esm/modules/contacts/persons/api/payment-methods.js +23 -0
  84. package/dist/esm/modules/contacts/persons/api/payment-methods.js.map +1 -0
  85. package/dist/esm/modules/contacts/persons/api/persons.d.ts +2 -0
  86. package/dist/esm/modules/contacts/persons/api/persons.d.ts.map +1 -1
  87. package/dist/esm/modules/contacts/persons/api/persons.js +7 -0
  88. package/dist/esm/modules/contacts/persons/api/persons.js.map +1 -1
  89. package/dist/esm/modules/contacts/persons/types/index.d.ts +1 -0
  90. package/dist/esm/modules/contacts/persons/types/index.d.ts.map +1 -1
  91. package/dist/esm/modules/contacts/persons/types/index.js +1 -0
  92. package/dist/esm/modules/contacts/persons/types/index.js.map +1 -1
  93. package/dist/esm/modules/contacts/persons/types/payment-method.d.ts +13 -0
  94. package/dist/esm/modules/contacts/persons/types/payment-method.d.ts.map +1 -0
  95. package/dist/esm/modules/contacts/persons/types/payment-method.js +2 -0
  96. package/dist/esm/modules/contacts/persons/types/payment-method.js.map +1 -0
  97. package/dist/esm/modules/global/api.d.ts +2 -0
  98. package/dist/esm/modules/global/api.d.ts.map +1 -1
  99. package/dist/esm/modules/global/api.js +4 -0
  100. package/dist/esm/modules/global/api.js.map +1 -1
  101. package/dist/esm/modules/global/bank-account/api.d.ts +9 -0
  102. package/dist/esm/modules/global/bank-account/api.d.ts.map +1 -0
  103. package/dist/esm/modules/global/bank-account/api.js +12 -0
  104. package/dist/esm/modules/global/bank-account/api.js.map +1 -0
  105. package/dist/esm/modules/global/bank-account/index.d.ts +3 -0
  106. package/dist/esm/modules/global/bank-account/index.d.ts.map +1 -0
  107. package/dist/esm/modules/global/bank-account/index.js +3 -0
  108. package/dist/esm/modules/global/bank-account/index.js.map +1 -0
  109. package/dist/esm/modules/global/bank-account/types.d.ts +14 -0
  110. package/dist/esm/modules/global/bank-account/types.d.ts.map +1 -0
  111. package/dist/esm/modules/global/bank-account/types.js +7 -0
  112. package/dist/esm/modules/global/bank-account/types.js.map +1 -0
  113. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.d.ts +22 -0
  114. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.d.ts.map +1 -0
  115. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.js +204 -0
  116. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.js.map +1 -0
  117. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.d.ts +15 -0
  118. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.d.ts.map +1 -0
  119. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.js +62 -0
  120. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.js.map +1 -0
  121. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.d.ts +5 -0
  122. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.d.ts.map +1 -0
  123. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.js +201 -0
  124. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.js.map +1 -0
  125. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.d.ts +16 -0
  126. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.d.ts.map +1 -0
  127. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.js +393 -0
  128. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.js.map +1 -0
  129. package/dist/esm/modules/global/index.d.ts +1 -0
  130. package/dist/esm/modules/global/index.d.ts.map +1 -1
  131. package/dist/esm/modules/global/index.js +1 -0
  132. package/dist/esm/modules/global/index.js.map +1 -1
  133. package/dist/esm/modules/global/types.d.ts +11 -0
  134. package/dist/esm/modules/global/types.d.ts.map +1 -1
  135. package/dist/esm/modules/global/types.js +4 -0
  136. package/dist/esm/modules/global/types.js.map +1 -1
  137. package/dist/esm/modules/global/validations/payment_method.d.ts +3 -0
  138. package/dist/esm/modules/global/validations/payment_method.d.ts.map +1 -0
  139. package/dist/esm/modules/global/validations/payment_method.js +71 -0
  140. package/dist/esm/modules/global/validations/payment_method.js.map +1 -0
  141. package/dist/esm/modules/global/validations/payment_method.spec.d.ts +2 -0
  142. package/dist/esm/modules/global/validations/payment_method.spec.d.ts.map +1 -0
  143. package/dist/esm/modules/global/validations/payment_method.spec.js +125 -0
  144. package/dist/esm/modules/global/validations/payment_method.spec.js.map +1 -0
  145. package/dist/esm/utils/errors.d.ts +15 -0
  146. package/dist/esm/utils/errors.d.ts.map +1 -0
  147. package/dist/esm/utils/errors.js +16 -0
  148. package/dist/esm/utils/errors.js.map +1 -0
  149. package/dist/esm/utils/index.d.ts +1 -0
  150. package/dist/esm/utils/index.d.ts.map +1 -1
  151. package/dist/esm/utils/index.js +1 -0
  152. package/dist/esm/utils/index.js.map +1 -1
  153. package/package.json +1 -1
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VALID_SWIFT_COUNTRIES = exports.SWIFT_BIC_PATTERNS = void 0;
4
+ exports.isTestBic = isTestBic;
5
+ exports.formatSwiftBic = formatSwiftBic;
6
+ exports.getSwiftCountry = getSwiftCountry;
7
+ exports.getBankCode = getBankCode;
8
+ exports.validateCodeSwiftBic = validateCodeSwiftBic;
9
+ const errors_1 = require("utils/errors");
10
+ // SWIFT/BIC validation patterns and functions
11
+ exports.SWIFT_BIC_PATTERNS = {
12
+ // Standard SWIFT/BIC format (8 or 11 characters)
13
+ STANDARD: /^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$/,
14
+ // 8-character format (bank + country + location)
15
+ FORMAT_8: /^[A-Z]{6}[A-Z0-9]{2}$/,
16
+ // 11-character format (bank + country + location + branch)
17
+ FORMAT_11: /^[A-Z]{6}[A-Z0-9]{2}[A-Z0-9]{3}$/,
18
+ // Component patterns
19
+ BANK_CODE: /^[A-Z]{4}$/, // 4 letters - Bank identifier
20
+ COUNTRY_CODE: /^[A-Z]{2}$/, // 2 letters - ISO country code
21
+ LOCATION_CODE: /^[A-Z0-9]{2}$/, // 2 alphanumeric - Location code
22
+ BRANCH_CODE: /^[A-Z0-9]{3}$/, // 3 alphanumeric - Branch code (optional)
23
+ };
24
+ // ISO country codes for SWIFT validation
25
+ exports.VALID_SWIFT_COUNTRIES = new Set([
26
+ 'AD',
27
+ 'AE',
28
+ 'AF',
29
+ 'AG',
30
+ 'AI',
31
+ 'AL',
32
+ 'AM',
33
+ 'AO',
34
+ 'AQ',
35
+ 'AR',
36
+ 'AS',
37
+ 'AT',
38
+ 'AU',
39
+ 'AW',
40
+ 'AX',
41
+ 'AZ',
42
+ 'BA',
43
+ 'BB',
44
+ 'BD',
45
+ 'BE',
46
+ 'BF',
47
+ 'BG',
48
+ 'BH',
49
+ 'BI',
50
+ 'BJ',
51
+ 'BL',
52
+ 'BM',
53
+ 'BN',
54
+ 'BO',
55
+ 'BQ',
56
+ 'BR',
57
+ 'BS',
58
+ 'BT',
59
+ 'BV',
60
+ 'BW',
61
+ 'BY',
62
+ 'BZ',
63
+ 'CA',
64
+ 'CC',
65
+ 'CD',
66
+ 'CF',
67
+ 'CG',
68
+ 'CH',
69
+ 'CI',
70
+ 'CK',
71
+ 'CL',
72
+ 'CM',
73
+ 'CN',
74
+ 'CO',
75
+ 'CR',
76
+ 'CU',
77
+ 'CV',
78
+ 'CW',
79
+ 'CX',
80
+ 'CY',
81
+ 'CZ',
82
+ 'DE',
83
+ 'DJ',
84
+ 'DK',
85
+ 'DM',
86
+ 'DO',
87
+ 'DZ',
88
+ 'EC',
89
+ 'EE',
90
+ 'EG',
91
+ 'EH',
92
+ 'ER',
93
+ 'ES',
94
+ 'ET',
95
+ 'FI',
96
+ 'FJ',
97
+ 'FK',
98
+ 'FM',
99
+ 'FO',
100
+ 'FR',
101
+ 'GA',
102
+ 'GB',
103
+ 'GD',
104
+ 'GE',
105
+ 'GF',
106
+ 'GG',
107
+ 'GH',
108
+ 'GI',
109
+ 'GL',
110
+ 'GM',
111
+ 'GN',
112
+ 'GP',
113
+ 'GQ',
114
+ 'GR',
115
+ 'GS',
116
+ 'GT',
117
+ 'GU',
118
+ 'GW',
119
+ 'GY',
120
+ 'HK',
121
+ 'HM',
122
+ 'HN',
123
+ 'HR',
124
+ 'HT',
125
+ 'HU',
126
+ 'ID',
127
+ 'IE',
128
+ 'IL',
129
+ 'IM',
130
+ 'IN',
131
+ 'IO',
132
+ 'IQ',
133
+ 'IR',
134
+ 'IS',
135
+ 'IT',
136
+ 'JE',
137
+ 'JM',
138
+ 'JO',
139
+ 'JP',
140
+ 'KE',
141
+ 'KG',
142
+ 'KH',
143
+ 'KI',
144
+ 'KM',
145
+ 'KN',
146
+ 'KP',
147
+ 'KR',
148
+ 'KW',
149
+ 'KY',
150
+ 'KZ',
151
+ 'LA',
152
+ 'LB',
153
+ 'LC',
154
+ 'LI',
155
+ 'LK',
156
+ 'LR',
157
+ 'LS',
158
+ 'LT',
159
+ 'LU',
160
+ 'LV',
161
+ 'LY',
162
+ 'MA',
163
+ 'MC',
164
+ 'MD',
165
+ 'ME',
166
+ 'MF',
167
+ 'MG',
168
+ 'MH',
169
+ 'MK',
170
+ 'ML',
171
+ 'MM',
172
+ 'MN',
173
+ 'MO',
174
+ 'MP',
175
+ 'MQ',
176
+ 'MR',
177
+ 'MS',
178
+ 'MT',
179
+ 'MU',
180
+ 'MV',
181
+ 'MW',
182
+ 'MX',
183
+ 'MY',
184
+ 'MZ',
185
+ 'NA',
186
+ 'NC',
187
+ 'NE',
188
+ 'NF',
189
+ 'NG',
190
+ 'NI',
191
+ 'NL',
192
+ 'NO',
193
+ 'NP',
194
+ 'NR',
195
+ 'NU',
196
+ 'NZ',
197
+ 'OM',
198
+ 'PA',
199
+ 'PE',
200
+ 'PF',
201
+ 'PG',
202
+ 'PH',
203
+ 'PK',
204
+ 'PL',
205
+ 'PM',
206
+ 'PN',
207
+ 'PR',
208
+ 'PS',
209
+ 'PT',
210
+ 'PW',
211
+ 'PY',
212
+ 'QA',
213
+ 'RE',
214
+ 'RO',
215
+ 'RS',
216
+ 'RU',
217
+ 'RW',
218
+ 'SA',
219
+ 'SB',
220
+ 'SC',
221
+ 'SD',
222
+ 'SE',
223
+ 'SG',
224
+ 'SH',
225
+ 'SI',
226
+ 'SJ',
227
+ 'SK',
228
+ 'SL',
229
+ 'SM',
230
+ 'SN',
231
+ 'SO',
232
+ 'SR',
233
+ 'SS',
234
+ 'ST',
235
+ 'SV',
236
+ 'SX',
237
+ 'SY',
238
+ 'SZ',
239
+ 'TC',
240
+ 'TD',
241
+ 'TF',
242
+ 'TG',
243
+ 'TH',
244
+ 'TJ',
245
+ 'TK',
246
+ 'TL',
247
+ 'TM',
248
+ 'TN',
249
+ 'TO',
250
+ 'TR',
251
+ 'TT',
252
+ 'TV',
253
+ 'TW',
254
+ 'TZ',
255
+ 'UA',
256
+ 'UG',
257
+ 'UM',
258
+ 'US',
259
+ 'UY',
260
+ 'UZ',
261
+ 'VA',
262
+ 'VC',
263
+ 'VE',
264
+ 'VG',
265
+ 'VI',
266
+ 'VN',
267
+ 'VU',
268
+ 'WF',
269
+ 'WS',
270
+ 'XK',
271
+ 'YE',
272
+ 'YT',
273
+ 'ZA',
274
+ 'ZM',
275
+ 'ZW',
276
+ ]);
277
+ function isTestBic(swiftBic) {
278
+ const cleanSwift = swiftBic.replace(/\s/g, '').toUpperCase();
279
+ if (cleanSwift.length < 8)
280
+ return false;
281
+ return cleanSwift.substring(7, 8) === '0';
282
+ }
283
+ function formatSwiftBic(swiftBic, withSpaces = false) {
284
+ const cleanSwift = swiftBic.replace(/\s/g, '').toUpperCase();
285
+ if (!withSpaces)
286
+ return cleanSwift;
287
+ if (cleanSwift.length === 8) {
288
+ return `${cleanSwift.substring(0, 4)} ${cleanSwift.substring(4, 6)} ${cleanSwift.substring(6, 8)}`;
289
+ }
290
+ else if (cleanSwift.length === 11) {
291
+ return `${cleanSwift.substring(0, 4)} ${cleanSwift.substring(4, 6)} ${cleanSwift.substring(6, 8)} ${cleanSwift.substring(8, 11)}`;
292
+ }
293
+ return cleanSwift;
294
+ }
295
+ function getSwiftCountry(swiftBic) {
296
+ const cleanSwift = swiftBic.replace(/\s/g, '').toUpperCase();
297
+ if (cleanSwift.length < 6)
298
+ return null;
299
+ return cleanSwift.substring(4, 6);
300
+ }
301
+ function getBankCode(swiftBic) {
302
+ const cleanSwift = swiftBic.replace(/\s/g, '').toUpperCase();
303
+ if (cleanSwift.length < 4)
304
+ return null;
305
+ return cleanSwift.substring(0, 4);
306
+ }
307
+ // Main validation function
308
+ function validateCodeSwiftBic(swiftBic, path) {
309
+ if (!swiftBic || typeof swiftBic !== 'string') {
310
+ throw new errors_1.ValidationError([
311
+ {
312
+ validation: path,
313
+ code: 'invalid_string',
314
+ message: 'SWIFT/BIC must be a string',
315
+ path: [path],
316
+ },
317
+ ]);
318
+ }
319
+ // Remove spaces and convert to uppercase
320
+ const cleanSwift = swiftBic.replace(/\s/g, '').toUpperCase();
321
+ // Check basic format
322
+ if (!exports.SWIFT_BIC_PATTERNS.STANDARD.test(cleanSwift)) {
323
+ throw new errors_1.ValidationError([
324
+ {
325
+ validation: path,
326
+ code: 'invalid_string',
327
+ message: 'Invalid SWIFT/BIC format. Must be 8 or 11 alphanumeric characters',
328
+ path: [path],
329
+ },
330
+ ]);
331
+ }
332
+ // Extract components
333
+ const bankCode = cleanSwift.substring(0, 4);
334
+ const countryCode = cleanSwift.substring(4, 6);
335
+ const locationCode = cleanSwift.substring(6, 8);
336
+ const branchCode = cleanSwift.length === 11 ? cleanSwift.substring(8, 11) : undefined;
337
+ // Validate individual components
338
+ if (!exports.SWIFT_BIC_PATTERNS.BANK_CODE.test(bankCode)) {
339
+ throw new errors_1.ValidationError([
340
+ {
341
+ validation: path,
342
+ code: 'invalid_string',
343
+ message: 'Invalid bank code. Must be 4 letters',
344
+ path: [path],
345
+ },
346
+ ]);
347
+ }
348
+ if (!exports.SWIFT_BIC_PATTERNS.COUNTRY_CODE.test(countryCode)) {
349
+ throw new errors_1.ValidationError([
350
+ {
351
+ validation: path,
352
+ code: 'invalid_string',
353
+ message: 'Invalid country code. Must be 2 letters',
354
+ path: [path],
355
+ },
356
+ ]);
357
+ }
358
+ if (!exports.VALID_SWIFT_COUNTRIES.has(countryCode)) {
359
+ throw new errors_1.ValidationError([
360
+ {
361
+ validation: path,
362
+ code: 'invalid_string',
363
+ message: `Invalid country code: ${countryCode}`,
364
+ path: [path],
365
+ },
366
+ ]);
367
+ }
368
+ if (!exports.SWIFT_BIC_PATTERNS.LOCATION_CODE.test(locationCode)) {
369
+ throw new errors_1.ValidationError([
370
+ {
371
+ validation: path,
372
+ code: 'invalid_string',
373
+ message: 'Invalid location code. Must be 2 alphanumeric characters',
374
+ path: [path],
375
+ },
376
+ ]);
377
+ }
378
+ if (branchCode && !exports.SWIFT_BIC_PATTERNS.BRANCH_CODE.test(branchCode)) {
379
+ throw new errors_1.ValidationError([
380
+ {
381
+ validation: path,
382
+ code: 'invalid_string',
383
+ message: 'Invalid branch code. Must be 3 alphanumeric characters',
384
+ path: [path],
385
+ },
386
+ ]);
387
+ }
388
+ // Check for test BIC (location code ending in 0)
389
+ const isTestBic = locationCode.endsWith('0');
390
+ if (isTestBic) {
391
+ throw new errors_1.ValidationError([
392
+ {
393
+ validation: path,
394
+ code: 'invalid_string',
395
+ message: 'Invalid location code. Must be 2 alphanumeric characters',
396
+ path: [path],
397
+ },
398
+ ]);
399
+ }
400
+ }
401
+ //# sourceMappingURL=swift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../../../../../src/modules/global/bank-account/validations/bank_account/swift.ts"],"names":[],"mappings":";;;AAkRA,8BAIC;AAED,wCAYC;AAED,0CAIC;AAED,kCAIC;AAED,oDAqGC;AAvZD,yCAA8C;AAE9C,8CAA8C;AACjC,QAAA,kBAAkB,GAAG;IAChC,iDAAiD;IACjD,QAAQ,EAAE,qCAAqC;IAE/C,iDAAiD;IACjD,QAAQ,EAAE,uBAAuB;IAEjC,2DAA2D;IAC3D,SAAS,EAAE,kCAAkC;IAE7C,qBAAqB;IACrB,SAAS,EAAE,YAAY,EAAE,8BAA8B;IACvD,YAAY,EAAE,YAAY,EAAE,+BAA+B;IAC3D,aAAa,EAAE,eAAe,EAAE,iCAAiC;IACjE,WAAW,EAAE,eAAe,EAAE,0CAA0C;CACzE,CAAA;AAED,yCAAyC;AAC5B,QAAA,qBAAqB,GAAG,IAAI,GAAG,CAAC;IAC3C,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,I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"}
@@ -1,4 +1,5 @@
1
1
  export * from './search';
2
+ export * from './bank-account';
2
3
  export * from './types';
3
4
  export * from './api';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./search"), exports);
18
+ __exportStar(require("./bank-account"), exports);
18
19
  __exportStar(require("./types"), exports);
19
20
  __exportStar(require("./api"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/global/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,0CAAuB;AACvB,wCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/global/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,iDAA8B;AAC9B,0CAAuB;AACvB,wCAAqB"}
@@ -1,3 +1,4 @@
1
+ import { GlobalBankAccountType } from './bank-account/types';
1
2
  export interface GlobalCountry {
2
3
  id: number;
3
4
  code: string;
@@ -17,4 +18,14 @@ export interface GlobalEconomicActivity {
17
18
  id: number;
18
19
  key: string;
19
20
  }
21
+ export declare enum GlobalPaymentMethodType {
22
+ bankAccount = "bank-account"
23
+ }
24
+ export interface GlobalPaymentMethodBankAccount {
25
+ type: GlobalBankAccountType;
26
+ country: GlobalCountry;
27
+ accountNumber: string;
28
+ swiftBic: string;
29
+ routingNumber?: string;
30
+ }
20
31
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modules/global/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modules/global/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,oBAAY,uBAAuB;IACjC,WAAW,iBAAiB;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,qBAAqB,CAAA;IAC3B,OAAO,EAAE,aAAa,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GlobalCurrency = void 0;
3
+ exports.GlobalPaymentMethodType = exports.GlobalCurrency = void 0;
4
4
  var GlobalCurrency;
5
5
  (function (GlobalCurrency) {
6
6
  GlobalCurrency["EUR"] = "EUR";
7
7
  GlobalCurrency["USD"] = "USD";
8
8
  GlobalCurrency["MXN"] = "MXN";
9
9
  })(GlobalCurrency || (exports.GlobalCurrency = GlobalCurrency = {}));
10
+ var GlobalPaymentMethodType;
11
+ (function (GlobalPaymentMethodType) {
12
+ GlobalPaymentMethodType["bankAccount"] = "bank-account";
13
+ })(GlobalPaymentMethodType || (exports.GlobalPaymentMethodType = GlobalPaymentMethodType = {}));
10
14
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/modules/global/types.ts"],"names":[],"mappings":";;;AAYA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,6BAAW,CAAA;AACb,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/modules/global/types.ts"],"names":[],"mappings":";;;AAcA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,6BAAW,CAAA;AACb,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAOD,IAAY,uBAEX;AAFD,WAAY,uBAAuB;IACjC,uDAA4B,CAAA;AAC9B,CAAC,EAFW,uBAAuB,uCAAvB,uBAAuB,QAElC"}
@@ -0,0 +1,3 @@
1
+ import { GlobalPaymentMethodBankAccount } from '../types';
2
+ export declare function validatePaymentMethod(req: GlobalPaymentMethodBankAccount): Promise<void | never>;
3
+ //# sourceMappingURL=payment_method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment_method.d.ts","sourceRoot":"","sources":["../../../../../src/modules/global/validations/payment_method.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAIzD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAqEtG"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePaymentMethod = validatePaymentMethod;
4
+ const swift_1 = require("../bank-account/validations/bank_account/swift");
5
+ const aba_1 = require("../bank-account/validations/bank_account/aba");
6
+ const aba_2 = require("../bank-account/validations/bank_account/aba");
7
+ const clabe_1 = require("../bank-account/validations/bank_account/clabe");
8
+ const iban_1 = require("../bank-account/validations/bank_account/iban");
9
+ const iban_2 = require("../bank-account/validations/bank_account/iban");
10
+ const iban_3 = require("../bank-account/validations/bank_account/iban");
11
+ const swift_2 = require("../bank-account/validations/bank_account/swift");
12
+ const types_1 = require("../bank-account/types");
13
+ const errors_1 = require("utils/errors");
14
+ async function validatePaymentMethod(req) {
15
+ const swiftCountryCode = (0, swift_1.getSwiftCountry)(req.swiftBic);
16
+ switch (req.type) {
17
+ case types_1.GlobalBankAccountType.ABA: {
18
+ if (!req.routingNumber) {
19
+ throw new errors_1.ValidationError([
20
+ {
21
+ validation: 'routingNumber',
22
+ code: 'invalid_string',
23
+ message: 'Routing number is required for ABA bank accounts',
24
+ path: ['routingNumber'],
25
+ },
26
+ ]);
27
+ }
28
+ (0, aba_1.validateAccountNumberABA)(req.accountNumber, 'accountNumber');
29
+ (0, aba_2.validateRoutingNumberABA)(req.routingNumber, 'routingNumber');
30
+ if (swiftCountryCode !== 'US') {
31
+ throw new errors_1.ValidationError([
32
+ {
33
+ validation: 'swiftBic',
34
+ code: 'invalid_string',
35
+ message: 'Invalid Swift BIC for ABA bank accounts',
36
+ path: ['swiftBic'],
37
+ },
38
+ ]);
39
+ }
40
+ break;
41
+ }
42
+ case types_1.GlobalBankAccountType.CLABE: {
43
+ (0, clabe_1.validateAccountNumberCLABE)(req.accountNumber, 'accountNumber');
44
+ if (swiftCountryCode !== 'MX') {
45
+ throw new errors_1.ValidationError([
46
+ {
47
+ validation: 'swiftBic',
48
+ code: 'invalid_string',
49
+ message: 'Invalid Swift BIC for CLABE bank accounts',
50
+ path: ['swiftBic'],
51
+ },
52
+ ]);
53
+ }
54
+ break;
55
+ }
56
+ case types_1.GlobalBankAccountType.IBAN: {
57
+ (0, iban_1.validateAccountNumberIBAN)(req.accountNumber, 'accountNumber');
58
+ const ibanCountryCode = (0, iban_2.getIBANCountryCode)(req.accountNumber);
59
+ if (!swiftCountryCode || !iban_3.IBAN_COUNTRY_CODES.includes(swiftCountryCode) || swiftCountryCode !== ibanCountryCode) {
60
+ throw new errors_1.ValidationError([
61
+ {
62
+ validation: 'swiftBic',
63
+ code: 'invalid_string',
64
+ message: 'Invalid Swift BIC for IBAN bank accounts',
65
+ path: ['swiftBic'],
66
+ },
67
+ ]);
68
+ }
69
+ break;
70
+ }
71
+ }
72
+ (0, swift_2.validateCodeSwiftBic)(req.swiftBic, 'swiftBic');
73
+ }
74
+ //# sourceMappingURL=payment_method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment_method.js","sourceRoot":"","sources":["../../../../../src/modules/global/validations/payment_method.ts"],"names":[],"mappings":";;AAYA,sDAqEC;AAjFD,0EAAgF;AAChF,sEAAuF;AACvF,sEAAuF;AACvF,0EAA2F;AAC3F,wEAAyF;AACzF,wEAAkF;AAClF,wEAAkF;AAClF,0EAAqF;AAErF,iDAA6D;AAC7D,yCAA8C;AAEvC,KAAK,UAAU,qBAAqB,CAAC,GAAmC;IAC7E,MAAM,gBAAgB,GAAG,IAAA,uBAAe,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEtD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,6BAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,wBAAe,CAAC;oBACxB;wBACE,UAAU,EAAE,eAAe;wBAC3B,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,kDAAkD;wBAC3D,IAAI,EAAE,CAAC,eAAe,CAAC;qBACxB;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,IAAA,8BAAwB,EAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;YAC5D,IAAA,8BAAwB,EAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;YAE5D,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,wBAAe,CAAC;oBACxB;wBACE,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,yCAAyC;wBAClD,IAAI,EAAE,CAAC,UAAU,CAAC;qBACnB;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,MAAK;QACP,CAAC;QACD,KAAK,6BAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,IAAA,kCAA0B,EAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;YAE9D,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,wBAAe,CAAC;oBACxB;wBACE,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,2CAA2C;wBACpD,IAAI,EAAE,CAAC,UAAU,CAAC;qBACnB;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,MAAK;QACP,CAAC;QACD,KAAK,6BAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,IAAA,gCAAyB,EAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;YAE7D,MAAM,eAAe,GAAG,IAAA,yBAAkB,EAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAE7D,IAAI,CAAC,gBAAgB,IAAI,CAAC,yBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,KAAK,eAAe,EAAE,CAAC;gBAChH,MAAM,IAAI,wBAAe,CAAC;oBACxB;wBACE,UAAU,EAAE,UAAU;wBACtB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,0CAA0C;wBACnD,IAAI,EAAE,CAAC,UAAU,CAAC;qBACnB;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAA,4BAAoB,EAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAChD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=payment_method.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment_method.spec.d.ts","sourceRoot":"","sources":["../../../../../src/modules/global/validations/payment_method.spec.ts"],"names":[],"mappings":""}