n8n-nodes-centum 0.1.2

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 (64) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +56 -0
  3. package/dist/credentials/CentumApi.credentials.d.ts +8 -0
  4. package/dist/credentials/CentumApi.credentials.js +42 -0
  5. package/dist/credentials/CentumApi.credentials.js.map +1 -0
  6. package/dist/nodes/Centum/Centum.node.d.ts +5 -0
  7. package/dist/nodes/Centum/Centum.node.js +482 -0
  8. package/dist/nodes/Centum/Centum.node.js.map +1 -0
  9. package/dist/nodes/Centum/Centum.node.json +0 -0
  10. package/dist/nodes/Centum/CentumDescription.d.ts +3 -0
  11. package/dist/nodes/Centum/CentumDescription.js +434 -0
  12. package/dist/nodes/Centum/CentumDescription.js.map +1 -0
  13. package/dist/nodes/Centum/centum.png +0 -0
  14. package/dist/nodes/Centum/constants/index.d.ts +2 -0
  15. package/dist/nodes/Centum/constants/index.js +19 -0
  16. package/dist/nodes/Centum/constants/index.js.map +1 -0
  17. package/dist/nodes/Centum/constants/provincias.d.ts +5 -0
  18. package/dist/nodes/Centum/constants/provincias.js +131 -0
  19. package/dist/nodes/Centum/constants/provincias.js.map +1 -0
  20. package/dist/nodes/Centum/constants/zonas.d.ts +15 -0
  21. package/dist/nodes/Centum/constants/zonas.js +2046 -0
  22. package/dist/nodes/Centum/constants/zonas.js.map +1 -0
  23. package/dist/nodes/Centum/helpers/api.d.ts +10 -0
  24. package/dist/nodes/Centum/helpers/api.js +48 -0
  25. package/dist/nodes/Centum/helpers/api.js.map +1 -0
  26. package/dist/nodes/Centum/helpers/functions.d.ts +19 -0
  27. package/dist/nodes/Centum/helpers/functions.js +540 -0
  28. package/dist/nodes/Centum/helpers/functions.js.map +1 -0
  29. package/dist/nodes/Centum/images-last-modified.json +1636 -0
  30. package/dist/nodes/Centum/interfaces/articulos.d.ts +270 -0
  31. package/dist/nodes/Centum/interfaces/articulos.js +118 -0
  32. package/dist/nodes/Centum/interfaces/articulos.js.map +1 -0
  33. package/dist/nodes/Centum/interfaces/articulosExistencias.d.ts +13 -0
  34. package/dist/nodes/Centum/interfaces/articulosExistencias.js +3 -0
  35. package/dist/nodes/Centum/interfaces/articulosExistencias.js.map +1 -0
  36. package/dist/nodes/Centum/interfaces/articulosMerge.d.ts +232 -0
  37. package/dist/nodes/Centum/interfaces/articulosMerge.js +86 -0
  38. package/dist/nodes/Centum/interfaces/articulosMerge.js.map +1 -0
  39. package/dist/nodes/Centum/interfaces/customers.d.ts +427 -0
  40. package/dist/nodes/Centum/interfaces/customers.js +226 -0
  41. package/dist/nodes/Centum/interfaces/customers.js.map +1 -0
  42. package/dist/nodes/Centum/interfaces/index.d.ts +9 -0
  43. package/dist/nodes/Centum/interfaces/index.js +26 -0
  44. package/dist/nodes/Centum/interfaces/index.js.map +1 -0
  45. package/dist/nodes/Centum/interfaces/newCobro.d.ts +74 -0
  46. package/dist/nodes/Centum/interfaces/newCobro.js +3 -0
  47. package/dist/nodes/Centum/interfaces/newCobro.js.map +1 -0
  48. package/dist/nodes/Centum/interfaces/newCustomer.d.ts +168 -0
  49. package/dist/nodes/Centum/interfaces/newCustomer.js +3 -0
  50. package/dist/nodes/Centum/interfaces/newCustomer.js.map +1 -0
  51. package/dist/nodes/Centum/interfaces/newPedidoVenta.d.ts +60 -0
  52. package/dist/nodes/Centum/interfaces/newPedidoVenta.js +3 -0
  53. package/dist/nodes/Centum/interfaces/newPedidoVenta.js.map +1 -0
  54. package/dist/nodes/Centum/interfaces/wooArticle.d.ts +32 -0
  55. package/dist/nodes/Centum/interfaces/wooArticle.js +3 -0
  56. package/dist/nodes/Centum/interfaces/wooArticle.js.map +1 -0
  57. package/dist/nodes/Centum/interfaces/woocommerce.d.ts +130 -0
  58. package/dist/nodes/Centum/interfaces/woocommerce.js +3 -0
  59. package/dist/nodes/Centum/interfaces/woocommerce.js.map +1 -0
  60. package/dist/nodes/Centum/products-migration-run.json +1 -0
  61. package/dist/package.json +56 -0
  62. package/dist/tsconfig.tsbuildinfo +1 -0
  63. package/index.js +0 -0
  64. package/package.json +56 -0
@@ -0,0 +1,540 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.centumImageName = exports.createJsonProducts = exports.createChargeJson = exports.createOrderSaleJson = exports.createCustomerJson = exports.createHash = void 0;
4
+ exports.centumGetArticleImages = centumGetArticleImages;
5
+ const crypto_1 = require("crypto");
6
+ const constants_1 = require("../constants");
7
+ const interfaces_1 = require("../interfaces");
8
+ const createHash = (publicAccessKey) => {
9
+ const uuid = (0, crypto_1.randomUUID)().replace(/-/gi, '');
10
+ const currentDateFormatted = new Date().toISOString().replace(/\..+/, '');
11
+ const hash = (0, crypto_1.createHash)('sha1');
12
+ hash.update(`${currentDateFormatted} ${uuid} ${publicAccessKey}`);
13
+ const hashedResult = hash.digest('hex');
14
+ return `${currentDateFormatted} ${uuid} ${hashedResult}`;
15
+ };
16
+ exports.createHash = createHash;
17
+ const createCustomerJson = (respWoo, dni) => {
18
+ const customerObj = {
19
+ TarifaServicio: {
20
+ IdTarifaServicio: 1
21
+ },
22
+ CodigoPostal: respWoo.billing.postcode,
23
+ Direccion: respWoo.billing.address_1,
24
+ IdCliente: -1,
25
+ Localidad: respWoo.billing.city,
26
+ RazonSocial: `${respWoo.billing.first_name} ${respWoo.billing.last_name}`,
27
+ Email: respWoo.billing.email || '',
28
+ Provincia: constants_1.constantProvincias.find((prov) => prov.Nombre.toLocaleLowerCase() === respWoo.billing.state.toLocaleLowerCase()) || constants_1.constantProvincias[5],
29
+ Pais: {
30
+ Codigo: 'ARG',
31
+ IdPais: 4657,
32
+ Nombre: 'Argentina',
33
+ },
34
+ DireccionEntrega: respWoo.shipping.address_1,
35
+ Telefono: respWoo.billing.phone,
36
+ CigarreraCliente: {
37
+ Codigo: 'MSP',
38
+ IdCigarreraCliente: 6972,
39
+ Nombre: 'Massalin Particulares',
40
+ },
41
+ Bonificacion: {
42
+ Calculada: 0,
43
+ Codigo: '01',
44
+ IdBonificacion: 6235,
45
+ },
46
+ ClaseCliente: {
47
+ IdClaseCliente: 6087,
48
+ Codigo: 'ClaseDefecto',
49
+ Nombre: 'Clase Defecto',
50
+ },
51
+ CadenaCliente: {
52
+ Codigo: '365',
53
+ IdCadenaCliente: 6920,
54
+ Nombre: '365',
55
+ },
56
+ CondicionVenta: {
57
+ Codigo: 'VTA1',
58
+ IdCondicionVenta: 1,
59
+ Nombre: 'Contado',
60
+ },
61
+ DiasAtencionCliente: {
62
+ Codigo: 'LD',
63
+ IdDiasAtencionCliente: 6969,
64
+ Nombre: 'Lunes a Domingo',
65
+ },
66
+ EdadesPromedioConsumidoresCliente: {
67
+ Codigo: '111',
68
+ IdEdadesPromedioConsumidoresCliente: 6951,
69
+ Nombre: 'Hay igual cantidad de consumidores',
70
+ },
71
+ FrecuenciaCliente: {
72
+ IdFrecuenciaCliente: 6891,
73
+ Nombre: 'Frecuencia Defecto',
74
+ },
75
+ GeneroPromedioConsumidoresCliente: {
76
+ Codigo: '11',
77
+ IdGeneroPromedioConsumidoresCliente: 6964,
78
+ Nombre: 'Hay igual cantidad de consumidores',
79
+ },
80
+ HorarioAtencionCliente: {
81
+ Codigo: 'D',
82
+ IdHorarioAtencionCliente: 6970,
83
+ Nombre: 'Diurno',
84
+ },
85
+ LimiteCredito: {
86
+ IdLimiteCredito: 46002,
87
+ Nombre: 'Límite Credito 1',
88
+ Valor: 1000000,
89
+ },
90
+ Transporte: {
91
+ Codigo: 'TRA1',
92
+ CodigoPostal: null,
93
+ CodigoPostalEntrega: null,
94
+ Direccion: null,
95
+ DireccionEntrega: null,
96
+ Email: null,
97
+ IdTransporte: 1,
98
+ Localidad: null,
99
+ LocalidadEntrega: null,
100
+ NumeroDocumento: '00000000',
101
+ Pais: {
102
+ Codigo: 'ARG',
103
+ IdPais: 4657,
104
+ Nombre: 'Argentina',
105
+ },
106
+ PaisEntrega: null,
107
+ Provincia: {
108
+ Codigo: 'BSAS',
109
+ IdProvincia: 4876,
110
+ Nombre: 'Buenos Aires',
111
+ },
112
+ ProvinciaEntrega: null,
113
+ RazonSocial: 'Transporte Defecto',
114
+ Telefono: '',
115
+ TipoDocumento: {
116
+ Codigo: 'DNI',
117
+ IdTipoDocumento: 6028,
118
+ Nombre: 'Documento Nacional de Identidad',
119
+ },
120
+ ZonaEntrega: null,
121
+ },
122
+ UbicacionCLiente: {
123
+ Codigo: 'BAR',
124
+ IdUbicacionCliente: 6942,
125
+ Nombre: 'Zona de Bares y Boliches',
126
+ },
127
+ CondicionIVA: {
128
+ IdCondicionIVA: 1892,
129
+ Codigo: 'CF',
130
+ Nombre: 'Consumidor Final',
131
+ },
132
+ CUIT: `${dni}`,
133
+ Codigo: `web-${dni}`,
134
+ Vendedor: {
135
+ IdVendedor: 12,
136
+ Codigo: 'V11',
137
+ Nombre: 'EXITOWEB',
138
+ CUIT: null,
139
+ Direccion: null,
140
+ Localidad: null,
141
+ Telefono: null,
142
+ Mail: null,
143
+ EsSupervisor: false,
144
+ },
145
+ CanalCliente: {
146
+ Codigo: 'OTR',
147
+ IdCanalCliente: 6904,
148
+ Nombre: 'Otros',
149
+ },
150
+ Zona: constants_1.constantsZonas.find((zone) => zone.Nombre.toLocaleLowerCase() === respWoo.billing.city.toLocaleLowerCase()) || constants_1.constantsZonas[0],
151
+ ListaPrecio: {
152
+ Codigo: interfaces_1.ListaPrecioCodigo.Exitoweb,
153
+ Descripcion: interfaces_1.Descripcion.TiendaOnLineExito,
154
+ FechaDesde: null,
155
+ FechaHasta: null,
156
+ Habilitado: true,
157
+ IdListaPrecio: 3,
158
+ ListaPrecioAlternativa: null,
159
+ Moneda: {
160
+ Codigo: 'ARS',
161
+ Cotizacion: 1,
162
+ IdMoneda: 1,
163
+ Nombre: 'Peso Argentino',
164
+ },
165
+ PorcentajePrecioSugerido: 0,
166
+ },
167
+ };
168
+ return customerObj;
169
+ };
170
+ exports.createCustomerJson = createCustomerJson;
171
+ const createOrderSaleJson = (articles, client, articlesOrder, shippingSalesOrder, cobroId) => {
172
+ let dbArticle;
173
+ const saleOrderObj = {
174
+ Cliente: client,
175
+ IdCobro: cobroId,
176
+ FechaEntrega: new Date().toISOString(),
177
+ Vendedor: client.Vendedor,
178
+ Bonificacion: client.Bonificacion,
179
+ PedidoVentaArticulos: articlesOrder.map((product) => {
180
+ dbArticle = articles.find((stateArticle) => stateArticle.Codigo === product.sku);
181
+ if (!dbArticle) {
182
+ console.warn(`No se encontró el artículo para SKU ${product.sku}`);
183
+ }
184
+ const metaData = product.meta_data;
185
+ const quantity = product.quantity;
186
+ const isProductQuoter = metaData.some((meta) => meta.key === 'blocky_woo_product_quoter');
187
+ const price = isProductQuoter ? Number(product.total || 0) / quantity : Number(product.price || 0);
188
+ const obj = {
189
+ Nombre: product.name,
190
+ Codigo: product.sku,
191
+ Cantidad: quantity,
192
+ CategoriaImpuestoIVA: {
193
+ Codigo: '5',
194
+ IdCategoriaImpuestoIVA: 4,
195
+ Nombre: 'IVA 21.00',
196
+ Tasa: 21,
197
+ },
198
+ IdArticulo: dbArticle?.IdArticulo || product.product_id,
199
+ CostoReposicion: dbArticle?.CostoReposicion || 0,
200
+ PorcentajeDescuento1: 0,
201
+ PorcentajeDescuento2: 0,
202
+ PorcentajeDescuento3: 0,
203
+ PorcentajeDescuentoMaximo: dbArticle?.PorcentajeDescuentoMaximo || 0,
204
+ Precio: price,
205
+ SegundoControlStock: dbArticle?.SegundoControlStock || 0,
206
+ NumeroTropa: '',
207
+ NumeroSerie: '',
208
+ ImpuestoInterno: dbArticle?.ImpuestoInterno || 0,
209
+ Observaciones: dbArticle?.Observaciones || '',
210
+ ClaseDescuento: {
211
+ IdClaseDescuento: 0,
212
+ },
213
+ };
214
+ return obj;
215
+ }),
216
+ DivisionEmpresaGrupoEconomico: {
217
+ IdDivisionEmpresaGrupoEconomico: 1,
218
+ NombreDivisionEmpresa: null,
219
+ RazonSocialEmpresaGrupoEconomico: null,
220
+ },
221
+ TiendaOnline: null,
222
+ Observaciones: dbArticle?.Observaciones || '',
223
+ ContieneConjunto: false,
224
+ PorcentajeDescuento: dbArticle?.PorcentajeDescuento || 0,
225
+ TurnoEntrega: {
226
+ IdTurnoEntrega: 6083,
227
+ Nombre: 'Maniana',
228
+ },
229
+ };
230
+ const isShippingAlreadyIncluded = articlesOrder.some(item => item.sku === 'R06SR0601P00010007');
231
+ if (shippingSalesOrder.length > 0 && !isShippingAlreadyIncluded) {
232
+ const shipping = shippingSalesOrder[0];
233
+ const shippingCost = Number(shipping.total || 0);
234
+ if (shippingCost > 0) {
235
+ const shippingItem = {
236
+ Nombre: shipping.method_title || 'Costo de Envío',
237
+ Codigo: 'R06SR0601P00010007',
238
+ Cantidad: 1,
239
+ CategoriaImpuestoIVA: {
240
+ Codigo: '5',
241
+ IdCategoriaImpuestoIVA: 4,
242
+ Nombre: 'IVA 21.00',
243
+ Tasa: 21,
244
+ },
245
+ IdArticulo: 2126,
246
+ CostoReposicion: 0,
247
+ PorcentajeDescuento1: 0,
248
+ PorcentajeDescuento2: 0,
249
+ PorcentajeDescuento3: 0,
250
+ PorcentajeDescuentoMaximo: 0,
251
+ Precio: shippingCost,
252
+ SegundoControlStock: 0,
253
+ NumeroTropa: '',
254
+ NumeroSerie: '',
255
+ ImpuestoInterno: 0,
256
+ Observaciones: ``,
257
+ ClaseDescuento: {
258
+ IdClaseDescuento: 0,
259
+ },
260
+ };
261
+ saleOrderObj.PedidoVentaArticulos.push(shippingItem);
262
+ }
263
+ }
264
+ return saleOrderObj;
265
+ };
266
+ exports.createOrderSaleJson = createOrderSaleJson;
267
+ const createChargeJson = (customer, articlesOrder, shippingChargeOrder) => {
268
+ if (shippingChargeOrder.length > 0) {
269
+ const shipping = shippingChargeOrder[0];
270
+ const shippingCost = Number(shipping.total || 0);
271
+ if (shippingCost > 0) {
272
+ const shippingChargeItem = {
273
+ id: shipping.id,
274
+ name: shipping.method_title || 'Costo de Envío',
275
+ total: shipping.total,
276
+ meta_data: shipping.meta_data,
277
+ product_id: 2126,
278
+ variation_id: 0,
279
+ quantity: 1,
280
+ tax_class: '',
281
+ subtotal: '',
282
+ subtotal_tax: '',
283
+ total_tax: '',
284
+ taxes: [],
285
+ sku: 'R06SR0601P00010007',
286
+ price: shippingCost,
287
+ image: {
288
+ id: 0,
289
+ src: ""
290
+ },
291
+ parent_name: '',
292
+ };
293
+ articlesOrder.push(shippingChargeItem);
294
+ }
295
+ }
296
+ const chargeJson = {
297
+ Cliente: customer,
298
+ ClienteCuentaCorriente: customer,
299
+ Observacion: '',
300
+ CobroAnticipos: articlesOrder.map((product) => {
301
+ const metaData = product.meta_data;
302
+ const quantity = product.quantity;
303
+ const isProductQuoter = metaData.some((meta) => meta.key === 'blocky_woo_product_quoter');
304
+ const price = isProductQuoter ? Number(product.total || 0) : Number(product.price || 0) * quantity;
305
+ const obj = {
306
+ ConceptoVarios: {
307
+ Activo: false,
308
+ Clave: null,
309
+ IdConceptoVarios: 2,
310
+ Nombre: null,
311
+ ResumenFondo: null,
312
+ },
313
+ Cotizacion: 1,
314
+ Detalle: '',
315
+ Importe: price,
316
+ };
317
+ return obj;
318
+ }),
319
+ CobroEfectivos: articlesOrder.map((p) => {
320
+ const metaData = p.meta_data;
321
+ const quantity = p.quantity;
322
+ const isProductQuoter = metaData.some((meta) => meta.key === 'blocky_woo_product_quoter');
323
+ const price = isProductQuoter ? Number(p.total || 0) : Number(p.price || 0) * quantity;
324
+ const object = {
325
+ Valor: {
326
+ IdValor: 4,
327
+ Codigo: null,
328
+ Nombre: null,
329
+ Moneda: null,
330
+ Ingresa: false,
331
+ Egresa: false,
332
+ OperaVueltoVentasContado: false,
333
+ SolicitaNumeroCupon: false,
334
+ VisibleVentasContado: false,
335
+ CantidadMaximaCuotas: 0,
336
+ Cuotas: null,
337
+ },
338
+ Detalle: 'Compra mediante web',
339
+ Importe: price,
340
+ Cotizacion: 1,
341
+ CotizacionMonedaRespectoMonedaCliente: 1,
342
+ CantidadCuotas: 0,
343
+ PorcentajeCostoServicio: 0,
344
+ PorcentajeCostoFinanciacion: 0,
345
+ PorcentajeCostoImpositivo: 0,
346
+ FechaAcreditacion: new Date().toISOString(),
347
+ NumeroCupon: '',
348
+ DNI: '',
349
+ NombreApellido: '',
350
+ };
351
+ return object;
352
+ }),
353
+ SucursalFisica: {
354
+ IdSucursalFisica: 7341,
355
+ Codigo: 'Moron',
356
+ Nombre: 'Moron'
357
+ },
358
+ FechaDocumento: new Date().toISOString(),
359
+ FechaImputacion: new Date().toISOString(),
360
+ Anulado: false,
361
+ Nota: '',
362
+ Moneda: {
363
+ IdMoneda: 1,
364
+ Codigo: 'ARS',
365
+ Nombre: 'Peso Argentino',
366
+ Cotizacion: 1,
367
+ },
368
+ Cotizacion: 1,
369
+ DivisionEmpresaGrupoEconomico: {
370
+ IdDivisionEmpresaGrupoEconomico: 1,
371
+ RazonSocialEmpresaGrupoEconomico: null,
372
+ NombreDivisionEmpresa: null,
373
+ },
374
+ Usuario: null,
375
+ CobroRetenciones: [],
376
+ CobroCheques: [],
377
+ CobroVouchers: [],
378
+ CobroPasarelaPago: [],
379
+ };
380
+ return chargeJson;
381
+ };
382
+ exports.createChargeJson = createChargeJson;
383
+ function getUniqueValues(array, key) {
384
+ const uniqueValues = [];
385
+ const uniqueKeys = new Set();
386
+ for (const obj of array) {
387
+ const value = obj[key];
388
+ if (!uniqueKeys.has(value)) {
389
+ uniqueKeys.add(value);
390
+ uniqueValues.push(obj);
391
+ }
392
+ }
393
+ return uniqueValues;
394
+ }
395
+ function centumGetArticleAttributes(article) {
396
+ return article.json.AtributosArticulo.map((article) => ({
397
+ name: article.Nombre.trim(),
398
+ value: article.Valor.trim().toLowerCase(),
399
+ }));
400
+ }
401
+ function centumGetArticleVariations(groupId, arrArticles) {
402
+ const allAttributes = [];
403
+ const articlesWithSameGroupId = arrArticles.filter((article) => article.json.GrupoArticulo !== null && article.json.GrupoArticulo.IdGrupoArticulo === groupId);
404
+ articlesWithSameGroupId.forEach((article) => {
405
+ allAttributes.push(...centumGetArticleAttributes(article));
406
+ });
407
+ const variations = articlesWithSameGroupId.map((article) => ({
408
+ sku: article.json.Codigo,
409
+ regular_price: article.json.Precio,
410
+ enabled: article.json.Habilitado === true && article.json.ActivoWeb === true,
411
+ attributes: centumGetArticleAttributes(article),
412
+ stock: article.json.ExistenciasSucursales,
413
+ dimensions: {
414
+ height: article.json.Alto * 100,
415
+ length: article.json.Largo * 100,
416
+ width: article.json.Ancho * 100,
417
+ weight: article.json.Masa,
418
+ },
419
+ images: article.json.images?.map((image) => image.data.fileName) || [],
420
+ description: article.json.Detalle ?? '',
421
+ }));
422
+ const allUniqueAttributes = getUniqueValues(allAttributes, 'value');
423
+ return [variations, allUniqueAttributes];
424
+ }
425
+ const createJsonProducts = (arrArticles) => {
426
+ const wooProducts = {
427
+ products: [],
428
+ };
429
+ const articleGroupIds = [];
430
+ for (const article of arrArticles) {
431
+ const obj = {};
432
+ obj.dimensions = {
433
+ height: article.json.Alto * 100,
434
+ length: article.json.Largo * 100,
435
+ width: article.json.Ancho * 100,
436
+ weight: article.json.Masa,
437
+ };
438
+ obj.regular_price = article.json.Precio;
439
+ const description = article.json.Detalle;
440
+ const pattern = /\/{2,}/g;
441
+ const matches = (description.match(pattern) || []).length;
442
+ if (matches > 0) {
443
+ const parts = description.split(pattern);
444
+ obj.short_description = parts[0].replace(/<[^>]+>/g, '');
445
+ obj.description = parts[1].replace(/^<\/\w+>/, '');
446
+ }
447
+ else {
448
+ obj.description = article.json.Detalle;
449
+ }
450
+ obj.categories = [
451
+ {
452
+ id: article.json.Rubro.IdRubro,
453
+ name: article.json.Rubro.Nombre,
454
+ subCategories: [
455
+ {
456
+ id: article.json.SubRubro.IdSubRubro,
457
+ name: article.json.SubRubro.Nombre,
458
+ category: article.json.CategoriaArticulo?.IdCategoriaArticulo
459
+ ? {
460
+ id: article.json.CategoriaArticulo.IdCategoriaArticulo,
461
+ name: article.json.CategoriaArticulo.Nombre
462
+ }
463
+ : undefined
464
+ }
465
+ ]
466
+ }
467
+ ];
468
+ obj.tags = article.json.Tags;
469
+ if (article.json.GrupoArticulo !== null) {
470
+ if (articleGroupIds.includes(article.json.GrupoArticulo.IdGrupoArticulo)) {
471
+ continue;
472
+ }
473
+ const [variations, allAttributes] = centumGetArticleVariations(article.json.GrupoArticulo.IdGrupoArticulo, arrArticles);
474
+ obj.name = article.json.GrupoArticulo.Nombre;
475
+ obj.type = 'variable';
476
+ obj.variations = variations;
477
+ obj.attributes = allAttributes;
478
+ obj.sku = article.json.GrupoArticulo.IdGrupoArticulo.toString();
479
+ obj.short_description = article.json.GrupoArticulo.Detalle;
480
+ wooProducts.products.push(obj);
481
+ articleGroupIds.push(article.json.GrupoArticulo.IdGrupoArticulo);
482
+ }
483
+ else {
484
+ obj.sku = article.json.Codigo;
485
+ obj.enabled = article.json.Habilitado === true && article.json.ActivoWeb === true;
486
+ obj.name =
487
+ article.json.NombreFantasia.length > 0 ? article.json.NombreFantasia : article.json.Nombre;
488
+ obj.type = 'simple';
489
+ obj.attributes = centumGetArticleAttributes(article);
490
+ obj.stock = article.json.ExistenciasTotal;
491
+ obj.images = article.json.images?.map((image) => image.data.fileName);
492
+ wooProducts.products.push(obj);
493
+ }
494
+ }
495
+ const uniqueArticles = getUniqueValues(wooProducts.products, 'name');
496
+ wooProducts.products = uniqueArticles;
497
+ return wooProducts;
498
+ };
499
+ exports.createJsonProducts = createJsonProducts;
500
+ async function centumGetArticleImages(orderNumber, articleId, requestHeaders, requestUrl, allImages = []) {
501
+ try {
502
+ const url = new URL(`${requestUrl}/${articleId}`);
503
+ url.searchParams.append('numeroOrden', orderNumber.toString());
504
+ const response = await fetch(url.toString(), {
505
+ method: 'GET',
506
+ headers: {
507
+ CentumSuiteConsumidorApiPublicaId: requestHeaders.consumerApiPublicId,
508
+ CentumSuiteAccessToken: (0, exports.createHash)(requestHeaders.publicAccessKey),
509
+ },
510
+ });
511
+ if (response.status === 404) {
512
+ return allImages;
513
+ }
514
+ if (!response.ok) {
515
+ throw new Error(`HTTP error ${response.status}`);
516
+ }
517
+ const buffer = await response.arrayBuffer();
518
+ const lastModified = response.headers.get('last-modified') ?? undefined;
519
+ allImages.push({
520
+ orderNumber,
521
+ articleId: articleId,
522
+ buffer,
523
+ lastModified,
524
+ });
525
+ return await centumGetArticleImages(orderNumber + 1, articleId, requestHeaders, requestUrl, allImages);
526
+ }
527
+ catch (e) {
528
+ console.error(`Error fetching image for article ${articleId}:`, e);
529
+ return e;
530
+ }
531
+ }
532
+ const centumImageName = (name, size, numberImage, fileExtension) => {
533
+ return `${name.split(' ').join('').replace('.', '').toLocaleLowerCase()}${numberImage}_${size
534
+ .split(' ')
535
+ .join('')
536
+ .replace('.', '_')
537
+ .toLocaleLowerCase()}.${fileExtension}`;
538
+ };
539
+ exports.centumImageName = centumImageName;
540
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../nodes/Centum/helpers/functions.ts"],"names":[],"mappings":"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"}