@tonytang99/integration-phases 1.1.0 → 1.2.0

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 (101) hide show
  1. package/dist/extract/bigcommerce/extract-bc-customer.d.ts +28 -0
  2. package/dist/extract/bigcommerce/extract-bc-customer.d.ts.map +1 -0
  3. package/dist/extract/bigcommerce/extract-bc-customer.js +54 -0
  4. package/dist/extract/bigcommerce/extract-bc-customer.js.map +1 -0
  5. package/dist/extract/bigcommerce/extract-bc-order.d.ts +20 -0
  6. package/dist/extract/bigcommerce/extract-bc-order.d.ts.map +1 -0
  7. package/dist/extract/bigcommerce/extract-bc-order.js +47 -0
  8. package/dist/extract/bigcommerce/extract-bc-order.js.map +1 -0
  9. package/dist/extract/bigcommerce/extract-bc-transactions.d.ts +17 -0
  10. package/dist/extract/bigcommerce/extract-bc-transactions.d.ts.map +1 -0
  11. package/dist/extract/bigcommerce/extract-bc-transactions.js +36 -0
  12. package/dist/extract/bigcommerce/extract-bc-transactions.js.map +1 -0
  13. package/dist/extract/bigcommerce/index.d.ts +4 -0
  14. package/dist/extract/bigcommerce/index.d.ts.map +1 -0
  15. package/dist/extract/bigcommerce/index.js +15 -0
  16. package/dist/extract/bigcommerce/index.js.map +1 -0
  17. package/dist/extract/index.d.ts +3 -0
  18. package/dist/extract/index.d.ts.map +1 -0
  19. package/dist/extract/index.js +25 -0
  20. package/dist/extract/index.js.map +1 -0
  21. package/dist/index.d.ts +6 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +25 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/load/index.d.ts +2 -0
  26. package/dist/load/index.d.ts.map +1 -0
  27. package/dist/load/index.js +19 -0
  28. package/dist/load/index.js.map +1 -0
  29. package/dist/load/myob/index.d.ts +4 -0
  30. package/dist/load/myob/index.d.ts.map +1 -0
  31. package/dist/load/myob/index.js +14 -0
  32. package/dist/load/myob/index.js.map +1 -0
  33. package/dist/load/myob/load-myob-customer.d.ts +18 -0
  34. package/dist/load/myob/load-myob-customer.d.ts.map +1 -0
  35. package/dist/load/myob/load-myob-customer.js +53 -0
  36. package/dist/load/myob/load-myob-customer.js.map +1 -0
  37. package/dist/load/myob/load-myob-payment.d.ts +18 -0
  38. package/dist/load/myob/load-myob-payment.d.ts.map +1 -0
  39. package/dist/load/myob/load-myob-payment.js +47 -0
  40. package/dist/load/myob/load-myob-payment.js.map +1 -0
  41. package/dist/load/myob/load-myob-sales-order.d.ts +18 -0
  42. package/dist/load/myob/load-myob-sales-order.d.ts.map +1 -0
  43. package/dist/load/myob/load-myob-sales-order.js +53 -0
  44. package/dist/load/myob/load-myob-sales-order.js.map +1 -0
  45. package/dist/slots/bigcommerce-slots.d.ts +16 -0
  46. package/dist/slots/bigcommerce-slots.d.ts.map +1 -0
  47. package/dist/slots/bigcommerce-slots.js +29 -0
  48. package/dist/slots/bigcommerce-slots.js.map +1 -0
  49. package/dist/slots/index.d.ts +4 -0
  50. package/dist/slots/index.d.ts.map +1 -0
  51. package/dist/slots/index.js +11 -0
  52. package/dist/slots/index.js.map +1 -0
  53. package/dist/slots/myob-slots.d.ts +24 -0
  54. package/dist/slots/myob-slots.d.ts.map +1 -0
  55. package/dist/slots/myob-slots.js +41 -0
  56. package/dist/slots/myob-slots.js.map +1 -0
  57. package/dist/slots/processing-slots.d.ts +35 -0
  58. package/dist/slots/processing-slots.d.ts.map +1 -0
  59. package/dist/slots/processing-slots.js +39 -0
  60. package/dist/slots/processing-slots.js.map +1 -0
  61. package/dist/transform/index.d.ts +4 -0
  62. package/dist/transform/index.d.ts.map +1 -0
  63. package/dist/transform/index.js +14 -0
  64. package/dist/transform/index.js.map +1 -0
  65. package/dist/transform/transform-bc-customer.d.ts +25 -0
  66. package/dist/transform/transform-bc-customer.d.ts.map +1 -0
  67. package/dist/transform/transform-bc-customer.js +66 -0
  68. package/dist/transform/transform-bc-customer.js.map +1 -0
  69. package/dist/transform/transform-bc-order.d.ts +13 -0
  70. package/dist/transform/transform-bc-order.d.ts.map +1 -0
  71. package/dist/transform/transform-bc-order.js +30 -0
  72. package/dist/transform/transform-bc-order.js.map +1 -0
  73. package/dist/transform/transform-to-myob.d.ts +37 -0
  74. package/dist/transform/transform-to-myob.d.ts.map +1 -0
  75. package/dist/transform/transform-to-myob.js +79 -0
  76. package/dist/transform/transform-to-myob.js.map +1 -0
  77. package/dist/utility/index.d.ts +5 -0
  78. package/dist/utility/index.d.ts.map +1 -0
  79. package/dist/utility/index.js +12 -0
  80. package/dist/utility/index.js.map +1 -0
  81. package/dist/utility/parse-api-gateway-input.d.ts +27 -0
  82. package/dist/utility/parse-api-gateway-input.d.ts.map +1 -0
  83. package/dist/utility/parse-api-gateway-input.js +85 -0
  84. package/dist/utility/parse-api-gateway-input.js.map +1 -0
  85. package/dist/utility/wait-phase.d.ts +45 -0
  86. package/dist/utility/wait-phase.d.ts.map +1 -0
  87. package/dist/utility/wait-phase.js +76 -0
  88. package/dist/utility/wait-phase.js.map +1 -0
  89. package/dist/validate/check-customer-exists.d.ts +25 -0
  90. package/dist/validate/check-customer-exists.d.ts.map +1 -0
  91. package/dist/validate/check-customer-exists.js +67 -0
  92. package/dist/validate/check-customer-exists.js.map +1 -0
  93. package/dist/validate/index.d.ts +5 -0
  94. package/dist/validate/index.d.ts.map +1 -0
  95. package/dist/validate/index.js +11 -0
  96. package/dist/validate/index.js.map +1 -0
  97. package/dist/validate/verify-new-order.d.ts +27 -0
  98. package/dist/validate/verify-new-order.d.ts.map +1 -0
  99. package/dist/validate/verify-new-order.js +55 -0
  100. package/dist/validate/verify-new-order.js.map +1 -0
  101. package/package.json +4 -3
@@ -0,0 +1,28 @@
1
+ import { BasePhase, PipelineContext, SlotKey } from '@tonytang99/integration-core';
2
+ import { BigCommerceCustomerAdapter } from '@tonytang99/integration-adapters';
3
+ /**
4
+ * Extracts customer data from BigCommerce by ID
5
+ */
6
+ export declare class ExtractBCCustomerPhase extends BasePhase {
7
+ private adapter;
8
+ readonly name = "extract:bc:customer";
9
+ readonly description = "Fetches customer from BigCommerce";
10
+ readonly tags: string[];
11
+ readonly requires: SlotKey<unknown>[];
12
+ readonly produces: SlotKey<unknown>[];
13
+ constructor(adapter: BigCommerceCustomerAdapter);
14
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
15
+ }
16
+ /**
17
+ * Extracts customer ID from a raw order and sets it in context
18
+ */
19
+ export declare class ExtractCustomerIdFromOrderPhase extends BasePhase {
20
+ readonly name = "extract:bc:customer-id-from-order";
21
+ readonly description = "Extracts customer ID from BC order";
22
+ readonly tags: string[];
23
+ readonly requires: SlotKey<unknown>[];
24
+ readonly produces: SlotKey<unknown>[];
25
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
26
+ }
27
+ export declare function createExtractBCCustomerPhase(adapter: BigCommerceCustomerAdapter): ExtractBCCustomerPhase;
28
+ //# sourceMappingURL=extract-bc-customer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-bc-customer.d.ts","sourceRoot":"","sources":["../../../src/extract/bigcommerce/extract-bc-customer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAG9E;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IAQvC,OAAO,CAAC,OAAO;IAP3B,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,WAAW,uCAAuC;IAC3D,QAAQ,CAAC,IAAI,WAA0C;IAEvD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAkC;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAmC;gBAEpD,OAAO,EAAE,0BAA0B;IAIjD,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAe9D;AAED;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;IAC5D,QAAQ,CAAC,IAAI,uCAAuC;IACpD,QAAQ,CAAC,WAAW,wCAAwC;IAC5D,QAAQ,CAAC,IAAI,WAA0C;IAEvD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAgC;IACrE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAkC;IAEjE,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAU9D;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,0BAA0B,GAAG,sBAAsB,CAExG"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtractCustomerIdFromOrderPhase = exports.ExtractBCCustomerPhase = void 0;
4
+ exports.createExtractBCCustomerPhase = createExtractBCCustomerPhase;
5
+ // packages/phases/src/extract/bigcommerce/extract-bc-customer.ts
6
+ const integration_core_1 = require("@tonytang99/integration-core");
7
+ const bigcommerce_slots_1 = require("../../slots/bigcommerce-slots");
8
+ /**
9
+ * Extracts customer data from BigCommerce by ID
10
+ */
11
+ class ExtractBCCustomerPhase extends integration_core_1.BasePhase {
12
+ adapter;
13
+ name = 'extract:bc:customer';
14
+ description = 'Fetches customer from BigCommerce';
15
+ tags = ['extract', 'bigcommerce', 'customer'];
16
+ requires = [bigcommerce_slots_1.BigCommerceSlots.CUSTOMER_ID];
17
+ produces = [bigcommerce_slots_1.BigCommerceSlots.RAW_CUSTOMER];
18
+ constructor(adapter) {
19
+ super();
20
+ this.adapter = adapter;
21
+ }
22
+ async execute(ctx) {
23
+ const customerId = ctx.require(bigcommerce_slots_1.BigCommerceSlots.CUSTOMER_ID);
24
+ const result = await this.adapter.getCustomer(customerId);
25
+ if (!result.success) {
26
+ this.fail(result.error?.code ?? 'FETCH_ERROR', result.error?.message ?? `Failed to fetch customer ${customerId}`, result.error?.retryable ?? false);
27
+ }
28
+ return ctx.set(bigcommerce_slots_1.BigCommerceSlots.RAW_CUSTOMER, result.data);
29
+ }
30
+ }
31
+ exports.ExtractBCCustomerPhase = ExtractBCCustomerPhase;
32
+ /**
33
+ * Extracts customer ID from a raw order and sets it in context
34
+ */
35
+ class ExtractCustomerIdFromOrderPhase extends integration_core_1.BasePhase {
36
+ name = 'extract:bc:customer-id-from-order';
37
+ description = 'Extracts customer ID from BC order';
38
+ tags = ['extract', 'bigcommerce', 'customer'];
39
+ requires = [bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER];
40
+ produces = [bigcommerce_slots_1.BigCommerceSlots.CUSTOMER_ID];
41
+ async execute(ctx) {
42
+ const order = ctx.require(bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER);
43
+ if (!order.customer_id) {
44
+ // Guest checkout - no customer ID
45
+ return ctx.addWarning('Order has no customer_id (guest checkout)');
46
+ }
47
+ return ctx.set(bigcommerce_slots_1.BigCommerceSlots.CUSTOMER_ID, order.customer_id);
48
+ }
49
+ }
50
+ exports.ExtractCustomerIdFromOrderPhase = ExtractCustomerIdFromOrderPhase;
51
+ function createExtractBCCustomerPhase(adapter) {
52
+ return new ExtractBCCustomerPhase(adapter);
53
+ }
54
+ //# sourceMappingURL=extract-bc-customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-bc-customer.js","sourceRoot":"","sources":["../../../src/extract/bigcommerce/extract-bc-customer.ts"],"names":[],"mappings":";;;AA4DA,oEAEC;AA9DD,iEAAiE;AACjE,mEAAmF;AAEnF,qEAAiE;AAEjE;;GAEG;AACH,MAAa,sBAAuB,SAAQ,4BAAS;IAQ/B;IAPX,IAAI,GAAG,qBAAqB,CAAC;IAC7B,WAAW,GAAG,mCAAmC,CAAC;IAClD,IAAI,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAE9C,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,WAAW,CAAC,CAAC;IAC9D,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,YAAY,CAAC,CAAC;IAExE,YAAoB,OAAmC;QACrD,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAA4B;IAEvD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAS,oCAAgB,CAAC,WAAW,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,EACnC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,4BAA4B,UAAU,EAAE,EACjE,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,CAAC,oCAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,IAAK,CAAC,CAAC;IAC9D,CAAC;CACF;AA3BD,wDA2BC;AAED;;GAEG;AACH,MAAa,+BAAgC,SAAQ,4BAAS;IACnD,IAAI,GAAG,mCAAmC,CAAC;IAC3C,WAAW,GAAG,oCAAoC,CAAC;IACnD,IAAI,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAE9C,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,SAAS,CAAC,CAAC;IAC5D,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,WAAW,CAAC,CAAC;IAEvE,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAgB,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,kCAAkC;YAClC,OAAO,GAAG,CAAC,UAAU,CAAC,2CAA2C,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,CAAC,oCAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;CACF;AAlBD,0EAkBC;AAED,SAAgB,4BAA4B,CAAC,OAAmC;IAC9E,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { BasePhase, PipelineContext, SlotKey } from '@tonytang99/integration-core';
2
+ import { BigCommerceOrderAdapter } from '@tonytang99/integration-adapters';
3
+ /**
4
+ * Extracts a complete order from BigCommerce including products and shipping addresses
5
+ */
6
+ export declare class ExtractBCOrderPhase extends BasePhase {
7
+ private adapter;
8
+ readonly name = "extract:bc:order";
9
+ readonly description = "Fetches order with products and shipping from BigCommerce";
10
+ readonly tags: string[];
11
+ readonly requires: SlotKey<unknown>[];
12
+ readonly produces: SlotKey<unknown>[];
13
+ constructor(adapter: BigCommerceOrderAdapter);
14
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
15
+ }
16
+ /**
17
+ * Factory function to create the phase with adapter injection
18
+ */
19
+ export declare function createExtractBCOrderPhase(adapter: BigCommerceOrderAdapter): ExtractBCOrderPhase;
20
+ //# sourceMappingURL=extract-bc-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-bc-order.d.ts","sourceRoot":"","sources":["../../../src/extract/bigcommerce/extract-bc-order.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAYpC,OAAO,CAAC,OAAO;IAX3B,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,WAAW,+DAA+D;IACnF,QAAQ,CAAC,IAAI,WAAuC;IAEpD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAA+B;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAInC;gBAEkB,OAAO,EAAE,uBAAuB;IAI9C,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAqB9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,uBAAuB,GAAG,mBAAmB,CAE/F"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtractBCOrderPhase = void 0;
4
+ exports.createExtractBCOrderPhase = createExtractBCOrderPhase;
5
+ // packages/phases/src/extract/bigcommerce/extract-bc-order.ts
6
+ const integration_core_1 = require("@tonytang99/integration-core");
7
+ const bigcommerce_slots_1 = require("../../slots/bigcommerce-slots");
8
+ /**
9
+ * Extracts a complete order from BigCommerce including products and shipping addresses
10
+ */
11
+ class ExtractBCOrderPhase extends integration_core_1.BasePhase {
12
+ adapter;
13
+ name = 'extract:bc:order';
14
+ description = 'Fetches order with products and shipping from BigCommerce';
15
+ tags = ['extract', 'bigcommerce', 'order'];
16
+ requires = [bigcommerce_slots_1.BigCommerceSlots.ORDER_ID];
17
+ produces = [
18
+ bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER,
19
+ bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER_PRODUCTS,
20
+ bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER_SHIPPING,
21
+ ];
22
+ constructor(adapter) {
23
+ super();
24
+ this.adapter = adapter;
25
+ }
26
+ async execute(ctx) {
27
+ const orderId = ctx.require(bigcommerce_slots_1.BigCommerceSlots.ORDER_ID);
28
+ // Fetch complete order with related data
29
+ const result = await this.adapter.getOrderComplete(orderId);
30
+ if (!result.success) {
31
+ this.fail(result.error?.code ?? 'FETCH_ERROR', result.error?.message ?? `Failed to fetch order ${orderId}`, result.error?.retryable ?? false);
32
+ }
33
+ const { order, products, shippingAddresses } = result.data;
34
+ return ctx
35
+ .set(bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER, order)
36
+ .set(bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER_PRODUCTS, products)
37
+ .set(bigcommerce_slots_1.BigCommerceSlots.RAW_ORDER_SHIPPING, shippingAddresses);
38
+ }
39
+ }
40
+ exports.ExtractBCOrderPhase = ExtractBCOrderPhase;
41
+ /**
42
+ * Factory function to create the phase with adapter injection
43
+ */
44
+ function createExtractBCOrderPhase(adapter) {
45
+ return new ExtractBCOrderPhase(adapter);
46
+ }
47
+ //# sourceMappingURL=extract-bc-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-bc-order.js","sourceRoot":"","sources":["../../../src/extract/bigcommerce/extract-bc-order.ts"],"names":[],"mappings":";;;AAkDA,8DAEC;AApDD,8DAA8D;AAC9D,mEAAmF;AAEnF,qEAAiE;AAEjE;;GAEG;AACH,MAAa,mBAAoB,SAAQ,4BAAS;IAY5B;IAXX,IAAI,GAAG,kBAAkB,CAAC;IAC1B,WAAW,GAAG,2DAA2D,CAAC;IAC1E,IAAI,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAE3C,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3D,QAAQ,GAAuB;QACtC,oCAAgB,CAAC,SAAS;QAC1B,oCAAgB,CAAC,kBAAkB;QACnC,oCAAgB,CAAC,kBAAkB;KACpC,CAAC;IAEF,YAAoB,OAAgC;QAClD,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAAyB;IAEpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAS,oCAAgB,CAAC,QAAQ,CAAC,CAAC;QAE/D,yCAAyC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,EACnC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,yBAAyB,OAAO,EAAE,EAC3D,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,IAAK,CAAC;QAE5D,OAAO,GAAG;aACP,GAAG,CAAC,oCAAgB,CAAC,SAAS,EAAE,KAAK,CAAC;aACtC,GAAG,CAAC,oCAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC;aAClD,GAAG,CAAC,oCAAgB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;CACF;AArCD,kDAqCC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,OAAgC;IACxE,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BasePhase, PipelineContext, SlotKey } from '@tonytang99/integration-core';
2
+ import { BigCommerceTransactionAdapter } from '@tonytang99/integration-adapters';
3
+ /**
4
+ * Extracts payment transactions for an order from BigCommerce
5
+ */
6
+ export declare class ExtractBCTransactionsPhase extends BasePhase {
7
+ private adapter;
8
+ readonly name = "extract:bc:transactions";
9
+ readonly description = "Fetches payment transactions from BigCommerce";
10
+ readonly tags: string[];
11
+ readonly requires: SlotKey<unknown>[];
12
+ readonly produces: SlotKey<unknown>[];
13
+ constructor(adapter: BigCommerceTransactionAdapter);
14
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
15
+ }
16
+ export declare function createExtractBCTransactionsPhase(adapter: BigCommerceTransactionAdapter): ExtractBCTransactionsPhase;
17
+ //# sourceMappingURL=extract-bc-transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-bc-transactions.d.ts","sourceRoot":"","sources":["../../../src/extract/bigcommerce/extract-bc-transactions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAGjF;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,SAAS;IAQ3C,OAAO,CAAC,OAAO;IAP3B,QAAQ,CAAC,IAAI,6BAA6B;IAC1C,QAAQ,CAAC,WAAW,mDAAmD;IACvE,QAAQ,CAAC,IAAI,WAA0D;IAEvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAA+B;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAuC;gBAExD,OAAO,EAAE,6BAA6B;IAIpD,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAgB9D;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,6BAA6B,GACrC,0BAA0B,CAE5B"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtractBCTransactionsPhase = void 0;
4
+ exports.createExtractBCTransactionsPhase = createExtractBCTransactionsPhase;
5
+ // packages/phases/src/extract/bigcommerce/extract-bc-transactions.ts
6
+ const integration_core_1 = require("@tonytang99/integration-core");
7
+ const bigcommerce_slots_1 = require("../../slots/bigcommerce-slots");
8
+ /**
9
+ * Extracts payment transactions for an order from BigCommerce
10
+ */
11
+ class ExtractBCTransactionsPhase extends integration_core_1.BasePhase {
12
+ adapter;
13
+ name = 'extract:bc:transactions';
14
+ description = 'Fetches payment transactions from BigCommerce';
15
+ tags = ['extract', 'bigcommerce', 'transactions', 'payments'];
16
+ requires = [bigcommerce_slots_1.BigCommerceSlots.ORDER_ID];
17
+ produces = [bigcommerce_slots_1.BigCommerceSlots.RAW_TRANSACTIONS];
18
+ constructor(adapter) {
19
+ super();
20
+ this.adapter = adapter;
21
+ }
22
+ async execute(ctx) {
23
+ const orderId = ctx.require(bigcommerce_slots_1.BigCommerceSlots.ORDER_ID);
24
+ // Get only successful payment transactions
25
+ const result = await this.adapter.getPaymentTransactions(orderId);
26
+ if (!result.success) {
27
+ this.fail(result.error?.code ?? 'FETCH_ERROR', result.error?.message ?? `Failed to fetch transactions for order ${orderId}`, result.error?.retryable ?? false);
28
+ }
29
+ return ctx.set(bigcommerce_slots_1.BigCommerceSlots.RAW_TRANSACTIONS, result.data);
30
+ }
31
+ }
32
+ exports.ExtractBCTransactionsPhase = ExtractBCTransactionsPhase;
33
+ function createExtractBCTransactionsPhase(adapter) {
34
+ return new ExtractBCTransactionsPhase(adapter);
35
+ }
36
+ //# sourceMappingURL=extract-bc-transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-bc-transactions.js","sourceRoot":"","sources":["../../../src/extract/bigcommerce/extract-bc-transactions.ts"],"names":[],"mappings":";;;AAsCA,4EAIC;AA1CD,qEAAqE;AACrE,mEAAmF;AAEnF,qEAAiE;AAEjE;;GAEG;AACH,MAAa,0BAA2B,SAAQ,4BAAS;IAQnC;IAPX,IAAI,GAAG,yBAAyB,CAAC;IACjC,WAAW,GAAG,+CAA+C,CAAC;IAC9D,IAAI,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAE9D,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3D,QAAQ,GAAuB,CAAC,oCAAgB,CAAC,gBAAgB,CAAC,CAAC;IAE5E,YAAoB,OAAsC;QACxD,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAA+B;IAE1D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAS,oCAAgB,CAAC,QAAQ,CAAC,CAAC;QAE/D,2CAA2C;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,EACnC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,0CAA0C,OAAO,EAAE,EAC5E,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,CAAC,oCAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAK,CAAC,CAAC;IAClE,CAAC;CACF;AA5BD,gEA4BC;AAED,SAAgB,gCAAgC,CAC9C,OAAsC;IAEtC,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ExtractBCOrderPhase, createExtractBCOrderPhase, } from './extract-bc-order';
2
+ export { ExtractBCCustomerPhase, ExtractCustomerIdFromOrderPhase, createExtractBCCustomerPhase, } from './extract-bc-customer';
3
+ export { ExtractBCTransactionsPhase, createExtractBCTransactionsPhase, } from './extract-bc-transactions';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extract/bigcommerce/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ // packages/phases/src/extract/bigcommerce/index.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createExtractBCTransactionsPhase = exports.ExtractBCTransactionsPhase = exports.createExtractBCCustomerPhase = exports.ExtractCustomerIdFromOrderPhase = exports.ExtractBCCustomerPhase = exports.createExtractBCOrderPhase = exports.ExtractBCOrderPhase = void 0;
5
+ var extract_bc_order_1 = require("./extract-bc-order");
6
+ Object.defineProperty(exports, "ExtractBCOrderPhase", { enumerable: true, get: function () { return extract_bc_order_1.ExtractBCOrderPhase; } });
7
+ Object.defineProperty(exports, "createExtractBCOrderPhase", { enumerable: true, get: function () { return extract_bc_order_1.createExtractBCOrderPhase; } });
8
+ var extract_bc_customer_1 = require("./extract-bc-customer");
9
+ Object.defineProperty(exports, "ExtractBCCustomerPhase", { enumerable: true, get: function () { return extract_bc_customer_1.ExtractBCCustomerPhase; } });
10
+ Object.defineProperty(exports, "ExtractCustomerIdFromOrderPhase", { enumerable: true, get: function () { return extract_bc_customer_1.ExtractCustomerIdFromOrderPhase; } });
11
+ Object.defineProperty(exports, "createExtractBCCustomerPhase", { enumerable: true, get: function () { return extract_bc_customer_1.createExtractBCCustomerPhase; } });
12
+ var extract_bc_transactions_1 = require("./extract-bc-transactions");
13
+ Object.defineProperty(exports, "ExtractBCTransactionsPhase", { enumerable: true, get: function () { return extract_bc_transactions_1.ExtractBCTransactionsPhase; } });
14
+ Object.defineProperty(exports, "createExtractBCTransactionsPhase", { enumerable: true, get: function () { return extract_bc_transactions_1.createExtractBCTransactionsPhase; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extract/bigcommerce/index.ts"],"names":[],"mappings":";AAAA,mDAAmD;;;AAEnD,uDAG4B;AAF1B,uHAAA,mBAAmB,OAAA;AACnB,6HAAA,yBAAyB,OAAA;AAG3B,6DAI+B;AAH7B,6HAAA,sBAAsB,OAAA;AACtB,sIAAA,+BAA+B,OAAA;AAC/B,mIAAA,4BAA4B,OAAA;AAG9B,qEAGmC;AAFjC,qIAAA,0BAA0B,OAAA;AAC1B,2IAAA,gCAAgC,OAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './bigcommerce';
2
+ export { ExtractBigCommerceProductPhase, Slots as LegacyProductSlots } from './bigcommerce-product';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extract/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,8BAA8B,EAAE,KAAK,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ // packages/phases/src/extract/index.ts
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.LegacyProductSlots = exports.ExtractBigCommerceProductPhase = void 0;
19
+ // BigCommerce phases for order sync
20
+ __exportStar(require("./bigcommerce"), exports);
21
+ // Legacy BigCommerce product phase (for backwards compatibility)
22
+ var bigcommerce_product_1 = require("./bigcommerce-product");
23
+ Object.defineProperty(exports, "ExtractBigCommerceProductPhase", { enumerable: true, get: function () { return bigcommerce_product_1.ExtractBigCommerceProductPhase; } });
24
+ Object.defineProperty(exports, "LegacyProductSlots", { enumerable: true, get: function () { return bigcommerce_product_1.Slots; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extract/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;AAEvC,oCAAoC;AACpC,gDAA8B;AAE9B,iEAAiE;AACjE,6DAAoG;AAA3F,qIAAA,8BAA8B,OAAA;AAAE,yHAAA,KAAK,OAAsB"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,7 @@
1
- export * from './extract/bigcommerce-product';
1
+ export * from './slots';
2
+ export * from './extract';
3
+ export * from './transform';
4
+ export * from './load';
5
+ export * from './validate';
6
+ export * from './utility';
2
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,SAAS,CAAC;AAKxB,cAAc,WAAW,CAAC;AAK1B,cAAc,aAAa,CAAC;AAK5B,cAAc,QAAQ,CAAC;AAKvB,cAAc,YAAY,CAAC;AAK3B,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // packages/phases/src/index.ts
2
3
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
4
  if (k2 === undefined) k2 = k;
4
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -14,5 +15,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
16
  };
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./extract/bigcommerce-product"), exports);
18
+ // ─────────────────────────────────────
19
+ // SLOT DEFINITIONS
20
+ // ─────────────────────────────────────
21
+ __exportStar(require("./slots"), exports);
22
+ // ─────────────────────────────────────
23
+ // EXTRACT PHASES
24
+ // ─────────────────────────────────────
25
+ __exportStar(require("./extract"), exports);
26
+ // ─────────────────────────────────────
27
+ // TRANSFORM PHASES
28
+ // ─────────────────────────────────────
29
+ __exportStar(require("./transform"), exports);
30
+ // ─────────────────────────────────────
31
+ // LOAD PHASES
32
+ // ─────────────────────────────────────
33
+ __exportStar(require("./load"), exports);
34
+ // ─────────────────────────────────────
35
+ // VALIDATE PHASES
36
+ // ─────────────────────────────────────
37
+ __exportStar(require("./validate"), exports);
38
+ // ─────────────────────────────────────
39
+ // UTILITY PHASES
40
+ // ─────────────────────────────────────
41
+ __exportStar(require("./utility"), exports);
18
42
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;;;;;;;;;;;;;;AAE/B,wCAAwC;AACxC,mBAAmB;AACnB,wCAAwC;AACxC,0CAAwB;AAExB,wCAAwC;AACxC,iBAAiB;AACjB,wCAAwC;AACxC,4CAA0B;AAE1B,wCAAwC;AACxC,mBAAmB;AACnB,wCAAwC;AACxC,8CAA4B;AAE5B,wCAAwC;AACxC,cAAc;AACd,wCAAwC;AACxC,yCAAuB;AAEvB,wCAAwC;AACxC,kBAAkB;AAClB,wCAAwC;AACxC,6CAA2B;AAE3B,wCAAwC;AACxC,iBAAiB;AACjB,wCAAwC;AACxC,4CAA0B"}
@@ -0,0 +1,2 @@
1
+ export * from './myob';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/load/index.ts"],"names":[],"mappings":"AAEA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // packages/phases/src/load/index.ts
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ __exportStar(require("./myob"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/load/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,yCAAuB"}
@@ -0,0 +1,4 @@
1
+ export { LoadMYOBCustomerPhase, createLoadMYOBCustomerPhase } from './load-myob-customer';
2
+ export { LoadMYOBSalesOrderPhase, createLoadMYOBSalesOrderPhase } from './load-myob-sales-order';
3
+ export { LoadMYOBPaymentPhase, createLoadMYOBPaymentPhase } from './load-myob-payment';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/load/myob/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ // packages/phases/src/load/myob/index.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createLoadMYOBPaymentPhase = exports.LoadMYOBPaymentPhase = exports.createLoadMYOBSalesOrderPhase = exports.LoadMYOBSalesOrderPhase = exports.createLoadMYOBCustomerPhase = exports.LoadMYOBCustomerPhase = void 0;
5
+ var load_myob_customer_1 = require("./load-myob-customer");
6
+ Object.defineProperty(exports, "LoadMYOBCustomerPhase", { enumerable: true, get: function () { return load_myob_customer_1.LoadMYOBCustomerPhase; } });
7
+ Object.defineProperty(exports, "createLoadMYOBCustomerPhase", { enumerable: true, get: function () { return load_myob_customer_1.createLoadMYOBCustomerPhase; } });
8
+ var load_myob_sales_order_1 = require("./load-myob-sales-order");
9
+ Object.defineProperty(exports, "LoadMYOBSalesOrderPhase", { enumerable: true, get: function () { return load_myob_sales_order_1.LoadMYOBSalesOrderPhase; } });
10
+ Object.defineProperty(exports, "createLoadMYOBSalesOrderPhase", { enumerable: true, get: function () { return load_myob_sales_order_1.createLoadMYOBSalesOrderPhase; } });
11
+ var load_myob_payment_1 = require("./load-myob-payment");
12
+ Object.defineProperty(exports, "LoadMYOBPaymentPhase", { enumerable: true, get: function () { return load_myob_payment_1.LoadMYOBPaymentPhase; } });
13
+ Object.defineProperty(exports, "createLoadMYOBPaymentPhase", { enumerable: true, get: function () { return load_myob_payment_1.createLoadMYOBPaymentPhase; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/load/myob/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,2DAA0F;AAAjF,2HAAA,qBAAqB,OAAA;AAAE,iIAAA,2BAA2B,OAAA;AAC3D,iEAAiG;AAAxF,gIAAA,uBAAuB,OAAA;AAAE,sIAAA,6BAA6B,OAAA;AAC/D,yDAAuF;AAA9E,yHAAA,oBAAoB,OAAA;AAAE,+HAAA,0BAA0B,OAAA"}
@@ -0,0 +1,18 @@
1
+ import { BasePhase, PipelineContext, SlotKey, PipelineError } from '@tonytang99/integration-core';
2
+ import { MYOBCustomerAdapter } from '@tonytang99/integration-adapters';
3
+ /**
4
+ * Creates a customer in MYOB
5
+ */
6
+ export declare class LoadMYOBCustomerPhase extends BasePhase {
7
+ private adapter;
8
+ readonly name = "load:myob:customer";
9
+ readonly description = "Creates customer in MYOB";
10
+ readonly tags: string[];
11
+ readonly requires: SlotKey<unknown>[];
12
+ readonly produces: SlotKey<unknown>[];
13
+ constructor(adapter: MYOBCustomerAdapter);
14
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
15
+ rollback(ctx: PipelineContext, _error: PipelineError): Promise<void>;
16
+ }
17
+ export declare function createLoadMYOBCustomerPhase(adapter: MYOBCustomerAdapter): LoadMYOBCustomerPhase;
18
+ //# sourceMappingURL=load-myob-customer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-myob-customer.d.ts","sourceRoot":"","sources":["../../../src/load/myob/load-myob-customer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAGvE;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAWtC,OAAO,CAAC,OAAO;IAV3B,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,WAAW,8BAA8B;IAClD,QAAQ,CAAC,IAAI,WAAgC;IAE7C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAgC;IACrE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAGnC;gBAEkB,OAAO,EAAE,mBAAmB;IAI1C,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBvD,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,CAE/F"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadMYOBCustomerPhase = void 0;
4
+ exports.createLoadMYOBCustomerPhase = createLoadMYOBCustomerPhase;
5
+ // packages/phases/src/load/myob/load-myob-customer.ts
6
+ const integration_core_1 = require("@tonytang99/integration-core");
7
+ const myob_slots_1 = require("../../slots/myob-slots");
8
+ /**
9
+ * Creates a customer in MYOB
10
+ */
11
+ class LoadMYOBCustomerPhase extends integration_core_1.BasePhase {
12
+ adapter;
13
+ name = 'load:myob:customer';
14
+ description = 'Creates customer in MYOB';
15
+ tags = ['load', 'myob', 'customer'];
16
+ requires = [myob_slots_1.MYOBSlots.CUSTOMER_PAYLOAD];
17
+ produces = [
18
+ myob_slots_1.MYOBSlots.CUSTOMER_RESPONSE,
19
+ myob_slots_1.MYOBSlots.CUSTOMER_UID,
20
+ ];
21
+ constructor(adapter) {
22
+ super();
23
+ this.adapter = adapter;
24
+ }
25
+ async execute(ctx) {
26
+ const customerPayload = ctx.require(myob_slots_1.MYOBSlots.CUSTOMER_PAYLOAD);
27
+ const result = await this.adapter.createCustomer(customerPayload);
28
+ if (!result.success) {
29
+ this.fail(result.error?.code ?? 'CREATE_ERROR', result.error?.message ?? 'Failed to create customer in MYOB', result.error?.retryable ?? false);
30
+ }
31
+ const customer = result.data;
32
+ return ctx
33
+ .set(myob_slots_1.MYOBSlots.CUSTOMER_RESPONSE, customer)
34
+ .set(myob_slots_1.MYOBSlots.CUSTOMER_UID, customer.UID);
35
+ }
36
+ async rollback(ctx, _error) {
37
+ // If we created a customer, try to delete it
38
+ const customerUid = ctx.get(myob_slots_1.MYOBSlots.CUSTOMER_UID);
39
+ if (customerUid) {
40
+ try {
41
+ await this.adapter.deleteCustomer(customerUid);
42
+ }
43
+ catch {
44
+ // Best effort rollback
45
+ }
46
+ }
47
+ }
48
+ }
49
+ exports.LoadMYOBCustomerPhase = LoadMYOBCustomerPhase;
50
+ function createLoadMYOBCustomerPhase(adapter) {
51
+ return new LoadMYOBCustomerPhase(adapter);
52
+ }
53
+ //# sourceMappingURL=load-myob-customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-myob-customer.js","sourceRoot":"","sources":["../../../src/load/myob/load-myob-customer.ts"],"names":[],"mappings":";;;AAwDA,kEAEC;AA1DD,sDAAsD;AACtD,mEAAkG;AAElG,uDAAmD;AAEnD;;GAEG;AACH,MAAa,qBAAsB,SAAQ,4BAAS;IAW9B;IAVX,IAAI,GAAG,oBAAoB,CAAC;IAC5B,WAAW,GAAG,0BAA0B,CAAC;IACzC,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAEpC,QAAQ,GAAuB,CAAC,sBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5D,QAAQ,GAAuB;QACtC,sBAAS,CAAC,iBAAiB;QAC3B,sBAAS,CAAC,YAAY;KACvB,CAAC;IAEF,YAAoB,OAA4B;QAC9C,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAAqB;IAEhD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAS,CAAC,gBAAgB,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,cAAc,EACpC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,mCAAmC,EAC5D,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAK,CAAC;QAE9B,OAAO,GAAG;aACP,GAAG,CAAC,sBAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC;aAC1C,GAAG,CAAC,sBAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAoB,EAAE,MAAqB;QACxD,6CAA6C;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAS,sBAAS,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA9CD,sDA8CC;AAED,SAAgB,2BAA2B,CAAC,OAA4B;IACtE,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { BasePhase, PipelineContext, SlotKey, PipelineError } from '@tonytang99/integration-core';
2
+ import { MYOBPaymentAdapter } from '@tonytang99/integration-adapters';
3
+ /**
4
+ * Creates a single payment in MYOB (used within MapPhase iteration)
5
+ */
6
+ export declare class LoadMYOBPaymentPhase extends BasePhase {
7
+ private adapter;
8
+ readonly name = "load:myob:payment";
9
+ readonly description = "Creates a payment in MYOB";
10
+ readonly tags: string[];
11
+ readonly requires: SlotKey<unknown>[];
12
+ readonly produces: SlotKey<unknown>[];
13
+ constructor(adapter: MYOBPaymentAdapter);
14
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
15
+ rollback(ctx: PipelineContext, _error: PipelineError): Promise<void>;
16
+ }
17
+ export declare function createLoadMYOBPaymentPhase(adapter: MYOBPaymentAdapter): LoadMYOBPaymentPhase;
18
+ //# sourceMappingURL=load-myob-payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-myob-payment.d.ts","sourceRoot":"","sources":["../../../src/load/myob/load-myob-payment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IASrC,OAAO,CAAC,OAAO;IAR3B,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,WAAW,+BAA+B;IACnD,QAAQ,CAAC,IAAI,WAA+B;IAG5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAA+B;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAwC;gBAEzD,OAAO,EAAE,kBAAkB;IAIzC,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBvD,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAU3E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,GAAG,oBAAoB,CAE5F"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadMYOBPaymentPhase = void 0;
4
+ exports.createLoadMYOBPaymentPhase = createLoadMYOBPaymentPhase;
5
+ // packages/phases/src/load/myob/load-myob-payment.ts
6
+ const integration_core_1 = require("@tonytang99/integration-core");
7
+ const myob_slots_1 = require("../../slots/myob-slots");
8
+ /**
9
+ * Creates a single payment in MYOB (used within MapPhase iteration)
10
+ */
11
+ class LoadMYOBPaymentPhase extends integration_core_1.BasePhase {
12
+ adapter;
13
+ name = 'load:myob:payment';
14
+ description = 'Creates a payment in MYOB';
15
+ tags = ['load', 'myob', 'payment'];
16
+ // Reads current payment from iteration slot
17
+ requires = [myob_slots_1.MYOBSlots.CURRENT_PAYMENT];
18
+ produces = [myob_slots_1.MYOBSlots.CURRENT_PAYMENT_RESPONSE];
19
+ constructor(adapter) {
20
+ super();
21
+ this.adapter = adapter;
22
+ }
23
+ async execute(ctx) {
24
+ const paymentPayload = ctx.require(myob_slots_1.MYOBSlots.CURRENT_PAYMENT);
25
+ const result = await this.adapter.createPayment(paymentPayload);
26
+ if (!result.success) {
27
+ this.fail(result.error?.code ?? 'CREATE_ERROR', result.error?.message ?? 'Failed to create payment in MYOB', result.error?.retryable ?? false);
28
+ }
29
+ return ctx.set(myob_slots_1.MYOBSlots.CURRENT_PAYMENT_RESPONSE, result.data);
30
+ }
31
+ async rollback(ctx, _error) {
32
+ const payment = ctx.get(myob_slots_1.MYOBSlots.CURRENT_PAYMENT_RESPONSE);
33
+ if (payment?.UID) {
34
+ try {
35
+ await this.adapter.deletePayment(payment.UID);
36
+ }
37
+ catch {
38
+ // Best effort rollback
39
+ }
40
+ }
41
+ }
42
+ }
43
+ exports.LoadMYOBPaymentPhase = LoadMYOBPaymentPhase;
44
+ function createLoadMYOBPaymentPhase(adapter) {
45
+ return new LoadMYOBPaymentPhase(adapter);
46
+ }
47
+ //# sourceMappingURL=load-myob-payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-myob-payment.js","sourceRoot":"","sources":["../../../src/load/myob/load-myob-payment.ts"],"names":[],"mappings":";;;AAiDA,gEAEC;AAnDD,qDAAqD;AACrD,mEAAkG;AAElG,uDAAmD;AAEnD;;GAEG;AACH,MAAa,oBAAqB,SAAQ,4BAAS;IAS7B;IARX,IAAI,GAAG,mBAAmB,CAAC;IAC3B,WAAW,GAAG,2BAA2B,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE5C,4CAA4C;IACnC,QAAQ,GAAuB,CAAC,sBAAS,CAAC,eAAe,CAAC,CAAC;IAC3D,QAAQ,GAAuB,CAAC,sBAAS,CAAC,wBAAwB,CAAC,CAAC;IAE7E,YAAoB,OAA2B;QAC7C,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAAoB;IAE/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAS,CAAC,eAAe,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,cAAc,EACpC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,kCAAkC,EAC3D,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,CAAC,sBAAS,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAoB,EAAE,MAAqB;QACxD,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,sBAAS,CAAC,wBAAwB,CAAC,CAAC;QAC5D,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvCD,oDAuCC;AAED,SAAgB,0BAA0B,CAAC,OAA2B;IACpE,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { BasePhase, PipelineContext, SlotKey, PipelineError } from '@tonytang99/integration-core';
2
+ import { MYOBSalesOrderAdapter } from '@tonytang99/integration-adapters';
3
+ /**
4
+ * Creates a sales order in MYOB
5
+ */
6
+ export declare class LoadMYOBSalesOrderPhase extends BasePhase {
7
+ private adapter;
8
+ readonly name = "load:myob:sales-order";
9
+ readonly description = "Creates sales order in MYOB";
10
+ readonly tags: string[];
11
+ readonly requires: SlotKey<unknown>[];
12
+ readonly produces: SlotKey<unknown>[];
13
+ constructor(adapter: MYOBSalesOrderAdapter);
14
+ execute(ctx: PipelineContext): Promise<PipelineContext>;
15
+ rollback(ctx: PipelineContext, _error: PipelineError): Promise<void>;
16
+ }
17
+ export declare function createLoadMYOBSalesOrderPhase(adapter: MYOBSalesOrderAdapter): LoadMYOBSalesOrderPhase;
18
+ //# sourceMappingURL=load-myob-sales-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-myob-sales-order.d.ts","sourceRoot":"","sources":["../../../src/load/myob/load-myob-sales-order.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,SAAS;IAWxC,OAAO,CAAC,OAAO;IAV3B,QAAQ,CAAC,IAAI,2BAA2B;IACxC,QAAQ,CAAC,WAAW,iCAAiC;IACrD,QAAQ,CAAC,IAAI,WAA6B;IAE1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAmC;IACxE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAGnC;gBAEkB,OAAO,EAAE,qBAAqB;IAI5C,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBvD,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAW3E;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,uBAAuB,CAEzB"}