@tonytang99/integration-phases 1.0.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.
- package/dist/extract/bigcommerce/extract-bc-customer.d.ts +28 -0
- package/dist/extract/bigcommerce/extract-bc-customer.d.ts.map +1 -0
- package/dist/extract/bigcommerce/extract-bc-customer.js +54 -0
- package/dist/extract/bigcommerce/extract-bc-customer.js.map +1 -0
- package/dist/extract/bigcommerce/extract-bc-order.d.ts +20 -0
- package/dist/extract/bigcommerce/extract-bc-order.d.ts.map +1 -0
- package/dist/extract/bigcommerce/extract-bc-order.js +47 -0
- package/dist/extract/bigcommerce/extract-bc-order.js.map +1 -0
- package/dist/extract/bigcommerce/extract-bc-transactions.d.ts +17 -0
- package/dist/extract/bigcommerce/extract-bc-transactions.d.ts.map +1 -0
- package/dist/extract/bigcommerce/extract-bc-transactions.js +36 -0
- package/dist/extract/bigcommerce/extract-bc-transactions.js.map +1 -0
- package/dist/extract/bigcommerce/index.d.ts +4 -0
- package/dist/extract/bigcommerce/index.d.ts.map +1 -0
- package/dist/extract/bigcommerce/index.js +15 -0
- package/dist/extract/bigcommerce/index.js.map +1 -0
- package/dist/extract/bigcommerce-product.d.ts +4 -4
- package/dist/extract/bigcommerce-product.d.ts.map +1 -1
- package/dist/extract/index.d.ts +3 -0
- package/dist/extract/index.d.ts.map +1 -0
- package/dist/extract/index.js +25 -0
- package/dist/extract/index.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -1
- package/dist/index.js.map +1 -1
- package/dist/load/index.d.ts +2 -0
- package/dist/load/index.d.ts.map +1 -0
- package/dist/load/index.js +19 -0
- package/dist/load/index.js.map +1 -0
- package/dist/load/myob/index.d.ts +4 -0
- package/dist/load/myob/index.d.ts.map +1 -0
- package/dist/load/myob/index.js +14 -0
- package/dist/load/myob/index.js.map +1 -0
- package/dist/load/myob/load-myob-customer.d.ts +18 -0
- package/dist/load/myob/load-myob-customer.d.ts.map +1 -0
- package/dist/load/myob/load-myob-customer.js +53 -0
- package/dist/load/myob/load-myob-customer.js.map +1 -0
- package/dist/load/myob/load-myob-payment.d.ts +18 -0
- package/dist/load/myob/load-myob-payment.d.ts.map +1 -0
- package/dist/load/myob/load-myob-payment.js +47 -0
- package/dist/load/myob/load-myob-payment.js.map +1 -0
- package/dist/load/myob/load-myob-sales-order.d.ts +18 -0
- package/dist/load/myob/load-myob-sales-order.d.ts.map +1 -0
- package/dist/load/myob/load-myob-sales-order.js +53 -0
- package/dist/load/myob/load-myob-sales-order.js.map +1 -0
- package/dist/slots/bigcommerce-slots.d.ts +16 -0
- package/dist/slots/bigcommerce-slots.d.ts.map +1 -0
- package/dist/slots/bigcommerce-slots.js +29 -0
- package/dist/slots/bigcommerce-slots.js.map +1 -0
- package/dist/slots/index.d.ts +4 -0
- package/dist/slots/index.d.ts.map +1 -0
- package/dist/slots/index.js +11 -0
- package/dist/slots/index.js.map +1 -0
- package/dist/slots/myob-slots.d.ts +24 -0
- package/dist/slots/myob-slots.d.ts.map +1 -0
- package/dist/slots/myob-slots.js +41 -0
- package/dist/slots/myob-slots.js.map +1 -0
- package/dist/slots/processing-slots.d.ts +35 -0
- package/dist/slots/processing-slots.d.ts.map +1 -0
- package/dist/slots/processing-slots.js +39 -0
- package/dist/slots/processing-slots.js.map +1 -0
- package/dist/transform/index.d.ts +4 -0
- package/dist/transform/index.d.ts.map +1 -0
- package/dist/transform/index.js +14 -0
- package/dist/transform/index.js.map +1 -0
- package/dist/transform/transform-bc-customer.d.ts +25 -0
- package/dist/transform/transform-bc-customer.d.ts.map +1 -0
- package/dist/transform/transform-bc-customer.js +66 -0
- package/dist/transform/transform-bc-customer.js.map +1 -0
- package/dist/transform/transform-bc-order.d.ts +13 -0
- package/dist/transform/transform-bc-order.d.ts.map +1 -0
- package/dist/transform/transform-bc-order.js +30 -0
- package/dist/transform/transform-bc-order.js.map +1 -0
- package/dist/transform/transform-to-myob.d.ts +37 -0
- package/dist/transform/transform-to-myob.d.ts.map +1 -0
- package/dist/transform/transform-to-myob.js +79 -0
- package/dist/transform/transform-to-myob.js.map +1 -0
- package/dist/utility/index.d.ts +5 -0
- package/dist/utility/index.d.ts.map +1 -0
- package/dist/utility/index.js +12 -0
- package/dist/utility/index.js.map +1 -0
- package/dist/utility/parse-api-gateway-input.d.ts +27 -0
- package/dist/utility/parse-api-gateway-input.d.ts.map +1 -0
- package/dist/utility/parse-api-gateway-input.js +85 -0
- package/dist/utility/parse-api-gateway-input.js.map +1 -0
- package/dist/utility/wait-phase.d.ts +45 -0
- package/dist/utility/wait-phase.d.ts.map +1 -0
- package/dist/utility/wait-phase.js +76 -0
- package/dist/utility/wait-phase.js.map +1 -0
- package/dist/validate/check-customer-exists.d.ts +25 -0
- package/dist/validate/check-customer-exists.d.ts.map +1 -0
- package/dist/validate/check-customer-exists.js +67 -0
- package/dist/validate/check-customer-exists.js.map +1 -0
- package/dist/validate/index.d.ts +5 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +11 -0
- package/dist/validate/index.js.map +1 -0
- package/dist/validate/verify-new-order.d.ts +27 -0
- package/dist/validate/verify-new-order.d.ts.map +1 -0
- package/dist/validate/verify-new-order.js +55 -0
- package/dist/validate/verify-new-order.js.map +1 -0
- 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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { BasePhase, PipelineContext, SlotKey } from '@tonytang99/integration-core';
|
|
2
2
|
export declare const Slots: {
|
|
3
|
-
PRODUCT_ID: SlotKey
|
|
4
|
-
SOURCE_RAW: SlotKey
|
|
3
|
+
PRODUCT_ID: SlotKey<number>;
|
|
4
|
+
SOURCE_RAW: SlotKey<any>;
|
|
5
5
|
};
|
|
6
6
|
export declare class ExtractBigCommerceProductPhase extends BasePhase {
|
|
7
7
|
readonly name = "extract:bc:product";
|
|
8
8
|
readonly description = "Fetches product from BigCommerce (simulated)";
|
|
9
|
-
readonly requires: SlotKey[];
|
|
10
|
-
readonly produces: SlotKey[];
|
|
9
|
+
readonly requires: SlotKey<number>[];
|
|
10
|
+
readonly produces: SlotKey<any>[];
|
|
11
11
|
execute(ctx: PipelineContext): Promise<PipelineContext>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=bigcommerce-product.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigcommerce-product.d.ts","sourceRoot":"","sources":["../../src/extract/bigcommerce-product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAElG,eAAO,MAAM,KAAK;;;CAGjB,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,SAAS;IAC3D,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,WAAW,kDAAkD;IACtE,QAAQ,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"bigcommerce-product.d.ts","sourceRoot":"","sources":["../../src/extract/bigcommerce-product.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAElG,eAAO,MAAM,KAAK;;;CAGjB,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,SAAS;IAC3D,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,WAAW,kDAAkD;IACtE,QAAQ,CAAC,QAAQ,oBAAsB;IACvC,QAAQ,CAAC,QAAQ,iBAAsB;IAEjC,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAoB9D"}
|
|
@@ -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
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;
|
|
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 @@
|
|
|
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"}
|