@things-factory/integration-sellercraft 7.0.1-beta.1 → 7.0.1-beta.12
Sign up to get free protection for your applications and to get access to all the features.
- package/dist-server/constants/index.d.ts +2 -0
- package/dist-server/constants/order-status-mapping.d.ts +27 -0
- package/dist-server/constants/order-status-mapping.js +9 -9
- package/dist-server/constants/order-status-mapping.js.map +1 -1
- package/dist-server/constants/platform.d.ts +6 -0
- package/dist-server/controllers/index.d.ts +4 -0
- package/dist-server/controllers/sellercraft/apis/add-inbound-order.d.ts +8 -0
- package/dist-server/controllers/sellercraft/apis/echo.d.ts +12 -0
- package/dist-server/controllers/sellercraft/apis/fetch-order-document.d.ts +16 -0
- package/dist-server/controllers/sellercraft/apis/index.d.ts +8 -0
- package/dist-server/controllers/sellercraft/apis/initiate-order-document.d.ts +12 -0
- package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.d.ts +17 -0
- package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.d.ts +12 -0
- package/dist-server/controllers/sellercraft/apis/update-marketplace-order.d.ts +6 -0
- package/dist-server/controllers/sellercraft/apis/update-product.d.ts +11 -0
- package/dist-server/controllers/sellercraft/index.d.ts +1 -0
- package/dist-server/controllers/sellercraft/platform-action.d.ts +5 -0
- package/dist-server/controllers/sellercraft/platform-action.js.map +1 -1
- package/dist-server/controllers/sellercraft/sellercraft.d.ts +12 -0
- package/dist-server/controllers/sellercraft/sellercraft.js.map +1 -1
- package/dist-server/controllers/sellercraft-api/decorators.d.ts +1 -0
- package/dist-server/controllers/sellercraft-api/decorators.js.map +1 -1
- package/dist-server/controllers/sellercraft-api/index.d.ts +15 -0
- package/dist-server/controllers/sellercraft-api/index.js +1 -1
- package/dist-server/controllers/sellercraft-api/index.js.map +1 -1
- package/dist-server/controllers/sellercraft-api/types.d.ts +0 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/echo.d.ts +12 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/index.d.ts +6 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.d.ts +8 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.d.ts +11 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.d.ts +8 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.d.ts +8 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.d.ts +8 -0
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js +2 -2
- package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js.map +1 -1
- package/dist-server/controllers/sellercraft-channel-integration/index.d.ts +1 -0
- package/dist-server/controllers/sellercraft-channel-integration/platform-action.d.ts +5 -0
- package/dist-server/controllers/sellercraft-channel-integration/platform-action.js.map +1 -1
- package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.d.ts +12 -0
- package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js.map +1 -1
- package/dist-server/controllers/sellercraft-channel-integration-api/decorators.d.ts +1 -0
- package/dist-server/controllers/sellercraft-channel-integration-api/decorators.js.map +1 -1
- package/dist-server/controllers/sellercraft-channel-integration-api/index.d.ts +13 -0
- package/dist-server/controllers/sellercraft-channel-integration-api/index.js +1 -1
- package/dist-server/controllers/sellercraft-channel-integration-api/index.js.map +1 -1
- package/dist-server/controllers/sellercraft-channel-integration-api/types.d.ts +0 -0
- package/dist-server/index.d.ts +6 -0
- package/dist-server/middlewares/index.d.ts +1 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/routers/sellercraft-router.d.ts +1 -0
- package/dist-server/routers/sellercraft-router.js +4 -4
- package/dist-server/routers/sellercraft-router.js.map +1 -1
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/service/index.d.ts +7 -0
- package/dist-server/service/marketplace-channel/index.d.ts +5 -0
- package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.d.ts +3 -0
- package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js +3 -3
- package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js.map +1 -1
- package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.d.ts +3 -0
- package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js +3 -3
- package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js.map +1 -1
- package/dist-server/service/marketplace-channel/marketplace-channel.d.ts +18 -0
- package/dist-server/service/marketplace-channel/marketplace-channel.js +2 -2
- package/dist-server/service/marketplace-channel/marketplace-channel.js.map +1 -1
- package/dist-server/service/sellercraft/index.d.ts +5 -0
- package/dist-server/service/sellercraft/sellercraft-mutation.d.ts +9 -0
- package/dist-server/service/sellercraft/sellercraft-mutation.js +2 -2
- package/dist-server/service/sellercraft/sellercraft-mutation.js.map +1 -1
- package/dist-server/service/sellercraft/sellercraft-query.d.ts +11 -0
- package/dist-server/service/sellercraft/sellercraft-query.js +2 -2
- package/dist-server/service/sellercraft/sellercraft-query.js.map +1 -1
- package/dist-server/service/sellercraft/sellercraft-type.d.ts +21 -0
- package/dist-server/service/sellercraft/sellercraft-type.js +6 -6
- package/dist-server/service/sellercraft/sellercraft-type.js.map +1 -1
- package/dist-server/service/sellercraft/sellercraft.d.ts +27 -0
- package/dist-server/service/sellercraft/sellercraft.js +4 -4
- package/dist-server/service/sellercraft/sellercraft.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/utils/tokencraft-util.d.ts +2 -0
- package/dist-server/utils/tokencraft-util.js.map +1 -1
- package/package.json +13 -13
@@ -0,0 +1,27 @@
|
|
1
|
+
export declare const ORDER_STATUS: {
|
2
|
+
pending: string;
|
3
|
+
payment_pending: string;
|
4
|
+
ready_to_ship: string;
|
5
|
+
processing: string;
|
6
|
+
shipped: string;
|
7
|
+
completed: string;
|
8
|
+
cancelled: string;
|
9
|
+
canceled: string;
|
10
|
+
refunded: string;
|
11
|
+
failed: string;
|
12
|
+
refund: string;
|
13
|
+
ttk_100: string;
|
14
|
+
ttk_111: string;
|
15
|
+
ttk_112: string;
|
16
|
+
ttk_121: string;
|
17
|
+
ttk_122: string;
|
18
|
+
ttk_130: string;
|
19
|
+
ttk_140: string;
|
20
|
+
ttk_201: string;
|
21
|
+
ttk_202: string;
|
22
|
+
ttk_203: string;
|
23
|
+
};
|
24
|
+
export declare const SHIPPING_TYPE: {
|
25
|
+
DROP_SHIPPING: string;
|
26
|
+
CROSS_DOCKING_PICKUP: string;
|
27
|
+
};
|
@@ -13,15 +13,15 @@ exports.ORDER_STATUS = {
|
|
13
13
|
refunded: 'REFUND_COMPLETE',
|
14
14
|
failed: 'SHIPMENT_LOST_OR_DAMAGED',
|
15
15
|
refund: 'REFUND_COMPLETE',
|
16
|
-
ttk_100: 'PAYMENT_PENDING',
|
17
|
-
ttk_111: 'CONFIRMED',
|
18
|
-
ttk_112: 'READY_TO_SHIP',
|
19
|
-
ttk_121: 'SHIPPED',
|
20
|
-
ttk_122: 'DELIVERED',
|
21
|
-
ttk_130: 'CLOSED',
|
22
|
-
ttk_140: 'CANCELLED',
|
23
|
-
ttk_201: 'INITIATED_CANCELLATION',
|
24
|
-
ttk_202: '',
|
16
|
+
ttk_100: 'PAYMENT_PENDING', // UNPAID
|
17
|
+
ttk_111: 'CONFIRMED', // AWAITING_SHIPMENT
|
18
|
+
ttk_112: 'READY_TO_SHIP', // AWAITING_COLLECTION
|
19
|
+
ttk_121: 'SHIPPED', // IN_TRANSIT
|
20
|
+
ttk_122: 'DELIVERED', // DELIVERED
|
21
|
+
ttk_130: 'CLOSED', // COMPLETED
|
22
|
+
ttk_140: 'CANCELLED', // CANCELLED
|
23
|
+
ttk_201: 'INITIATED_CANCELLATION', // CANCEL_PENDING
|
24
|
+
ttk_202: '', // CANCEL_REJECT
|
25
25
|
ttk_203: 'CANCELLED' // CANCEL_COMPLETED
|
26
26
|
};
|
27
27
|
exports.SHIPPING_TYPE = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"order-status-mapping.js","sourceRoot":"","sources":["../../server/constants/order-status-mapping.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,WAAW;IACpB,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,WAAW;IACvB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,iBAAiB;IAC3B,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE,iBAAiB;
|
1
|
+
{"version":3,"file":"order-status-mapping.js","sourceRoot":"","sources":["../../server/constants/order-status-mapping.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,WAAW;IACpB,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,WAAW;IACvB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,iBAAiB;IAC3B,MAAM,EAAE,0BAA0B;IAClC,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE,iBAAiB,EAAE,SAAS;IACrC,OAAO,EAAE,WAAW,EAAE,oBAAoB;IAC1C,OAAO,EAAE,eAAe,EAAE,sBAAsB;IAChD,OAAO,EAAE,SAAS,EAAE,aAAa;IACjC,OAAO,EAAE,WAAW,EAAE,YAAY;IAClC,OAAO,EAAE,QAAQ,EAAE,YAAY;IAC/B,OAAO,EAAE,WAAW,EAAE,YAAY;IAClC,OAAO,EAAE,wBAAwB,EAAE,iBAAiB;IACpD,OAAO,EAAE,EAAE,EAAE,gBAAgB;IAC7B,OAAO,EAAE,WAAW,CAAC,mBAAmB;CACzC,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,aAAa,EAAE,eAAe;IAC9B,oBAAoB,EAAE,sBAAsB;CAC7C,CAAA","sourcesContent":["export const ORDER_STATUS = {\n pending: 'CONFIRMED',\n payment_pending: 'PAYMENT_PENDING',\n ready_to_ship: 'READY_TO_SHIP',\n processing: 'CONFIRMED',\n shipped: 'SHIPPED',\n completed: 'DELIVERED',\n cancelled: 'CANCELLED',\n canceled: 'CANCELLED',\n refunded: 'REFUND_COMPLETE',\n failed: 'SHIPMENT_LOST_OR_DAMAGED',\n refund: 'REFUND_COMPLETE',\n ttk_100: 'PAYMENT_PENDING', // UNPAID\n ttk_111: 'CONFIRMED', // AWAITING_SHIPMENT\n ttk_112: 'READY_TO_SHIP', // AWAITING_COLLECTION\n ttk_121: 'SHIPPED', // IN_TRANSIT\n ttk_122: 'DELIVERED', // DELIVERED\n ttk_130: 'CLOSED', // COMPLETED\n ttk_140: 'CANCELLED', // CANCELLED\n ttk_201: 'INITIATED_CANCELLATION', // CANCEL_PENDING\n ttk_202: '', // CANCEL_REJECT\n ttk_203: 'CANCELLED' // CANCEL_COMPLETED\n}\n\nexport const SHIPPING_TYPE = {\n DROP_SHIPPING: 'DROP_SHIPPING',\n CROSS_DOCKING_PICKUP: 'CROSS_DOCKING_PICKUP'\n}\n"]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare function echo(): {
|
2
|
+
path: string;
|
3
|
+
denormalize(req: any): any;
|
4
|
+
normalize(res: any): any;
|
5
|
+
action({ store, method, path, request, platformAction }: {
|
6
|
+
store: any;
|
7
|
+
method: any;
|
8
|
+
path: any;
|
9
|
+
request: any;
|
10
|
+
platformAction: any;
|
11
|
+
}): any;
|
12
|
+
};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export declare function fetchOrderDocument(): {
|
2
|
+
method: string;
|
3
|
+
path: string;
|
4
|
+
denormalize(req: any): {
|
5
|
+
payload: {
|
6
|
+
account_id: any;
|
7
|
+
order_id: any;
|
8
|
+
package_id: any;
|
9
|
+
};
|
10
|
+
};
|
11
|
+
normalize(res: any): {
|
12
|
+
documents: any;
|
13
|
+
trackingNo: any;
|
14
|
+
transporter: any;
|
15
|
+
};
|
16
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export * from './echo';
|
2
|
+
export * from './add-inbound-order';
|
3
|
+
export * from './fetch-order-document';
|
4
|
+
export * from './initiate-order-document';
|
5
|
+
export * from './initiate-order-shipment';
|
6
|
+
export * from './pack-marketplace-order';
|
7
|
+
export * from './update-marketplace-order';
|
8
|
+
export * from './update-product';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export declare function initiateOrderShipment(): {
|
2
|
+
method: string;
|
3
|
+
path: string;
|
4
|
+
denormalize(req: any): {
|
5
|
+
payload: {
|
6
|
+
account_id: any;
|
7
|
+
order_id: any;
|
8
|
+
package_id: any;
|
9
|
+
};
|
10
|
+
};
|
11
|
+
normalize(res: any): {
|
12
|
+
handOverType: any;
|
13
|
+
pickupTime: any;
|
14
|
+
pickupAddress: any;
|
15
|
+
dropoffAddress: any;
|
16
|
+
};
|
17
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './sellercraft';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft/platform-action.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,+CAA2C;AAE3C,MAAM,iBAAiB,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACxE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAA;AAEpC,SAAS,UAAU,CAAC,IAAI,EAAE,GAAG;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,YAAY,CAAA;IACrB,IAAI,IAAI,CAAA;IAER,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft/platform-action.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,+CAA2C;AAE3C,MAAM,iBAAiB,GAAG,YAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;AACxE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAA;AAEpC,SAAS,UAAU,CAAC,IAAI,EAAE,GAAG;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,YAAY,CAAA;IACrB,IAAI,IAAI,CAAA;IAER,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,IAAI,yBAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAE1C,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAE/C,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEjC,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,CAAA;IAChB,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAbY,QAAA,MAAM,UAalB","sourcesContent":["import { config } from '@things-factory/env'\n\nimport { Sellercraft } from './sellercraft'\n\nconst sellercraftConfig = config.get('sellercraftIntegrationConfig', {})\nconst { apiKey } = sellercraftConfig\n\nfunction substitute(path, obj) {\n var props = []\n var re = /{([^}]+)}/g\n var text\n\n while ((text = re.exec(path))) {\n props.push(text[1])\n }\n\n var result = path\n props.forEach(prop => {\n let value = obj[prop.trim()]\n result = result.replace(`{${prop}}`, value === undefined ? '' : value)\n })\n\n return result\n}\n\nexport const action = async ({ method = 'get', path, request }) => {\n const client = new Sellercraft({ apiKey })\n\n const { resource = {}, payload = {} } = request\n\n path = substitute(path, resource)\n\n var response = await client[method](path, payload)\n if (response.errors) {\n throw response\n }\n\n return response\n}\n"]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export type SellercraftConfig = {
|
2
|
+
apiKey: string;
|
3
|
+
};
|
4
|
+
export declare class Sellercraft {
|
5
|
+
private config;
|
6
|
+
constructor(config: SellercraftConfig);
|
7
|
+
getBaseUrl(): string;
|
8
|
+
generateRequestId(): any;
|
9
|
+
post(path: string, data?: any): Promise<any>;
|
10
|
+
put(path: string, data?: any): Promise<any>;
|
11
|
+
get(path: string, data?: any): Promise<any>;
|
12
|
+
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sellercraft.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft/sellercraft.ts"],"names":[],"mappings":";;;;AAAA,oEAA8B;AAC9B,+BAAmC;AAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,oDAAoD,CAAC,CAAA;AAMpF,MAAa,WAAW;IAGtB,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,qBACN,MAAM,CACV,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,gCAAgC,CAAA;IACzC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,SAAM,GAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAY,EAAE;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE9B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,SAAS,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAClD,MAAM,QAAQ,GAAW,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,CAAA;QAEtD,MAAM,QAAQ,GAAQ,MAAM,IAAA,oBAAK,EAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;aACpB;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"sellercraft.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft/sellercraft.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst debug = require('debug')('things-factory:integration-sellercraft:sellercraft')\n\nexport type SellercraftConfig = {\n apiKey: string\n}\n\nexport class Sellercraft {\n private config: SellercraftConfig\n\n constructor(config: SellercraftConfig) {\n this.config = {\n ...config\n }\n }\n\n getBaseUrl() {\n return `https://open.sellercraft.co/v1`\n }\n\n generateRequestId() {\n return uuidv4()\n }\n\n async post(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n const requestId: string = this.generateRequestId()\n const fullPath: string = `${this.getBaseUrl()}${path}`\n\n const response: any = await fetch(fullPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n },\n body: jsondata\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.text()\n throw new Error(`(${response.status}) ${result}`)\n }\n }\n\n async put(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n const jsondata = JSON.stringify(data)\n const requestId: string = this.generateRequestId()\n const fullPath: string = `${this.getBaseUrl()}${path}`\n debug('data', data)\n\n const response: any = await fetch(fullPath, {\n method: 'put',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n },\n body: jsondata\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.text()\n throw new Error(`(${response.status}) ${result}`)\n }\n }\n\n async get(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const fullPath: string = `${this.getBaseUrl()}${path}`\n const endpoint = `${fullPath}${qs ? '?' + qs : ''}`\n debug('endpoint', endpoint)\n\n const requestId: string = this.generateRequestId()\n\n const response: any = await fetch(endpoint, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n }\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.text()\n throw new Error(`(${response.status}) ${result}`)\n }\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const api: (target: Object, property: string, descriptor: TypedPropertyDescriptor<any>) => any;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-api/decorators.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,4DAA4D,CAAC,CAAA;AAGjF,uEAAmE;AAEnE,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEZ,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAwC,EAAO,EAAE;IACrG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;IAE/B,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,KAAkB,EAAE,OAAO;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAA;QAE3B,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAExB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE3E,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-api/decorators.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AACzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,4DAA4D,CAAC,CAAA;AAGjF,uEAAmE;AAEnE,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEZ,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAwC,EAAO,EAAE;IACrG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;IAE/B,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,KAAkB,EAAE,OAAO;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAA;QAE3B,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAExB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE3E,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QAED,IAAI,EACF,IAAI,EACJ,MAAM,EAAE,UAAU,GAAG,MAAM,EAC3B,WAAW,GAAG,IAAI,EAClB,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,cAAc,EACxB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;QAE5B,IAAI,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9D,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAE9B,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;gBACtC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE;aAC3E,CAAC,CAAA;YAEF,IAAA,mCAAgB,EAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAA;YAEjF,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAE3B,OAAO,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,mCAAgB,EAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAA;YAC9E,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AA3CY,QAAA,GAAG,OA2Cf","sourcesContent":["import Debug from 'debug'\nconst debug = Debug('things-factory:integration-marketplace:store-api-decorator')\n\nimport { Sellercraft } from '../../service'\nimport { createPayloadLog } from '@things-factory/integration-base'\n\nconst NOOP = v => v\n\nexport const api = (target: Object, property: string, descriptor: TypedPropertyDescriptor<any>): any => {\n const method = descriptor.value\n\n descriptor.value = async function (store: Sellercraft, request) {\n const SellercraftAPI = this\n\n var { platform } = store\n\n var { action: platformAction, apis } = SellercraftAPI.getPlatform(platform)\n\n var m = apis[method.name]\n if (!m) {\n throw Error(`Sellercraft doesn't have API ${method.name}`)\n }\n\n var {\n path,\n method: httpMethod = 'post',\n denormalize = NOOP,\n normalize = NOOP,\n action = platformAction\n } = m.apply(this, [request])\n\n var denormalized = await denormalize(request || {}, { store })\n debug('request', denormalized)\n\n try {\n var response = await action.apply(this, [\n { store, method: httpMethod, path, request: denormalized, platformAction }\n ])\n\n createPayloadLog(store.accountId, path, denormalized, response, request?.context)\n\n debug('response', response)\n\n return await normalize(response, { store })\n } catch (error) {\n createPayloadLog(store.accountId, path, denormalized, error, request?.context)\n throw error\n }\n }\n\n return descriptor\n}\n"]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Sellercraft } from '../../service';
|
2
|
+
export declare class SellercraftAPI {
|
3
|
+
static platforms: {};
|
4
|
+
static registerPlatform(name: any, action: any, apis: any): void;
|
5
|
+
static getPlatform(name: any): any;
|
6
|
+
static getSellercraft(id: any): Promise<Sellercraft>;
|
7
|
+
static echo(sellercraft: any, req: any): any;
|
8
|
+
static addInboundOrder(sellercraft: any, req: any): any;
|
9
|
+
static fetchOrderDocument(sellercraft: any, req: any): any;
|
10
|
+
static initiateOrderDocument(sellercraft: any, req: any): any;
|
11
|
+
static initiateOrderShipment(sellercraft: any, req: any): any;
|
12
|
+
static packMarketplaceOrder(sellercraft: any, req: any): any;
|
13
|
+
static updateMarketplaceOrder(sellercraft: any, req: any): any;
|
14
|
+
static updateProduct(sellercraft: any, req: any): any;
|
15
|
+
}
|
@@ -31,6 +31,7 @@ class SellercraftAPI {
|
|
31
31
|
static updateMarketplaceOrder(sellercraft, req) { }
|
32
32
|
static updateProduct(sellercraft, req) { }
|
33
33
|
}
|
34
|
+
exports.SellercraftAPI = SellercraftAPI;
|
34
35
|
SellercraftAPI.platforms = {};
|
35
36
|
tslib_1.__decorate([
|
36
37
|
decorators_1.api,
|
@@ -80,5 +81,4 @@ tslib_1.__decorate([
|
|
80
81
|
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
81
82
|
tslib_1.__metadata("design:returntype", Object)
|
82
83
|
], SellercraftAPI, "updateProduct", null);
|
83
|
-
exports.SellercraftAPI = SellercraftAPI;
|
84
84
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-api/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAqD;AAErD,2CAA2C;AAC3C,6CAAkC;AAElC,MAAa,cAAc;IAGzB,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI;QACxC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YAC/B,MAAM;YACN,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAI;QACrB,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QAC5B,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAW,CAAC,CAAA;QAC7C,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAGM,AAAP,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG9B,AAAP,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGzC,AAAP,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG5C,AAAP,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG/C,AAAP,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG/C,AAAP,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG9C,AAAP,MAAM,CAAC,sBAAsB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGhD,AAAP,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-api/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAqD;AAErD,2CAA2C;AAC3C,6CAAkC;AAElC,MAAa,cAAc;IAGzB,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI;QACxC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;YAC/B,MAAM;YACN,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAI;QACrB,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QAC5B,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,qBAAW,CAAC,CAAA;QAC7C,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAA;IACJ,CAAC;IAGM,AAAP,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG9B,AAAP,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGzC,AAAP,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG5C,AAAP,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG/C,AAAP,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG/C,AAAP,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAG9C,AAAP,MAAM,CAAC,sBAAsB,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;IAGhD,AAAP,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,IAAQ,CAAC;;AA5ChD,wCA6CC;AA5CQ,wBAAS,GAAG,EAAE,CAAA;AAsBd;IADN,gBAAG;;;;gCACiC;AAG9B;IADN,gBAAG;;;;2CAC4C;AAGzC;IADN,gBAAG;;;;8CAC+C;AAG5C;IADN,gBAAG;;;;iDACkD;AAG/C;IADN,gBAAG;;;;iDACkD;AAG/C;IADN,gBAAG;;;;gDACiD;AAG9C;IADN,gBAAG;;;;kDACmD;AAGhD;IADN,gBAAG;;;;yCAC0C","sourcesContent":["import { getRepository } from '@things-factory/shell'\n\nimport { Sellercraft } from '../../service'\nimport { api } from './decorators'\n\nexport class SellercraftAPI {\n static platforms = {}\n\n static registerPlatform(name, action, apis) {\n SellercraftAPI.platforms[name] = {\n action,\n apis\n }\n }\n\n static getPlatform(name) {\n return SellercraftAPI.platforms[name]\n }\n\n static async getSellercraft(id) {\n const repository = getRepository(Sellercraft)\n return await repository.findOne({\n where: { id },\n relations: ['domain']\n })\n }\n\n @api\n static echo(sellercraft, req): any {}\n\n @api\n static addInboundOrder(sellercraft, req): any {}\n\n @api\n static fetchOrderDocument(sellercraft, req): any {}\n\n @api\n static initiateOrderDocument(sellercraft, req): any {}\n\n @api\n static initiateOrderShipment(sellercraft, req): any {}\n\n @api\n static packMarketplaceOrder(sellercraft, req): any {}\n\n @api\n static updateMarketplaceOrder(sellercraft, req): any {}\n\n @api\n static updateProduct(sellercraft, req): any {}\n}\n"]}
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare function echo(): {
|
2
|
+
path: string;
|
3
|
+
denormalize(req: any): any;
|
4
|
+
normalize(res: any): any;
|
5
|
+
action({ store, method, path, request, platformAction }: {
|
6
|
+
store: any;
|
7
|
+
method: any;
|
8
|
+
path: any;
|
9
|
+
request: any;
|
10
|
+
platformAction: any;
|
11
|
+
}): any;
|
12
|
+
};
|
package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js
CHANGED
@@ -17,7 +17,7 @@ function ingestChannelProduct() {
|
|
17
17
|
label: variant.name,
|
18
18
|
is_enabled: variant.isEnabled || true,
|
19
19
|
is_sellable: variant.isSellable || true,
|
20
|
-
is_deleted: false,
|
20
|
+
is_deleted: false, // default
|
21
21
|
variant_attributes: (variant === null || variant === void 0 ? void 0 : variant.attributes)
|
22
22
|
? variant === null || variant === void 0 ? void 0 : variant.attributes.map(attribute => {
|
23
23
|
var _a;
|
@@ -65,7 +65,7 @@ function ingestChannelProduct() {
|
|
65
65
|
label: product.name,
|
66
66
|
brand: product.brand || '',
|
67
67
|
is_verified: product.isVerified || true,
|
68
|
-
flexible_attributes: product.channelCode == 'WCM' || product.channelCode == 'MGT' || product.channelCode == 'SPF' ? true : false,
|
68
|
+
flexible_attributes: product.channelCode == 'WCM' || product.channelCode == 'MGT' || product.channelCode == 'SPF' ? true : false, // add channels that do not support category_attributes ingestion
|
69
69
|
images: ((_a = product === null || product === void 0 ? void 0 : product.images) === null || _a === void 0 ? void 0 : _a.map(image => {
|
70
70
|
return {
|
71
71
|
file_url: image.url
|
package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ingest-channel-product.js","sourceRoot":"","sources":["../../../../server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.ts"],"names":[],"mappings":";AAAA,+FAA+F;;;AAE/F,SAAgB,oBAAoB;IAClC,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,yBAAyB;QAC/B,WAAW,CAAC,GAAG;YACb,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;YAExB,IAAI,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;;gBACvC,IAAI,iBAAiB,GAAU,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC9D,OAAO;wBACL,UAAU,EAAE,OAAO,CAAC,YAAY;wBAChC,iBAAiB,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;wBACjD,KAAK,EAAE,OAAO,CAAC,IAAI;wBACnB,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;wBACrC,WAAW,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;wBACvC,UAAU,EAAE,KAAK;
|
1
|
+
{"version":3,"file":"ingest-channel-product.js","sourceRoot":"","sources":["../../../../server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.ts"],"names":[],"mappings":"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","sourcesContent":["/* https://docs.sellercraft.co/docs/api-integrations/b3A6MTY4NjQxODU-initiate-order-shipment */\n\nexport function ingestChannelProduct() {\n return {\n method: 'post',\n path: '/channel/ingest/product',\n denormalize(req) {\n const { products } = req\n\n let newProducts = products.map(product => {\n let productVariations: any[] = product.variations.map(variant => {\n return {\n seller_sku: variant.variationSku,\n native_variant_id: variant.variationId.toString(),\n label: variant.name,\n is_enabled: variant.isEnabled || true,\n is_sellable: variant.isSellable || true,\n is_deleted: false, // default\n variant_attributes: variant?.attributes\n ? variant?.attributes.map(attribute => {\n return {\n ...attribute,\n native_attribute_id: attribute?.native_attribute_id?.toString()\n }\n })\n : [],\n stock_locked: variant?.stockLocked ? variant.stockLocked : 0,\n native_stock_reported: variant?.stockReported ? variant.stockReported : 0,\n price_full: variant.fullPrice || 0,\n price_discounted: variant.priceDiscounted || variant.fullPrice || 0,\n inventory_products: variant?.inventoryProducts\n ? variant.inventoryProducts.map(inventoryProduct => {\n return {\n quantity: inventoryProduct.qty || 0,\n name: inventoryProduct.name,\n inventory_sku: inventoryProduct.sku,\n product_versions: inventoryProduct?.productVersions\n ? inventoryProduct.productVersions.map(productVersion => {\n return {\n label: productVersion.label,\n package_content: productVersion.packageContent,\n package_length_mm: productVersion?.packageLengthMM ? productVersion.packageLengthMM : 0,\n package_width_mm: productVersion?.packageWidthMM ? productVersion.packageWidthMM : 0,\n package_height_mm: productVersion?.packageHeightMM ? productVersion.packageHeightMM : 0,\n package_weight_gram: productVersion?.packageWeightGram\n ? productVersion.packageWeightGram\n : 0,\n stock_available: productVersion.qty || 0\n }\n })\n : []\n }\n })\n : [],\n extra_metadata: variant?.extraMetadata\n }\n })\n\n return {\n organisation_id: product.organisationId,\n channel_shop_id: product.channelShopId,\n channel_code: product.channelCode,\n channel_country: product.channelCountry,\n native_category_id: product.categoryId.toString(),\n native_product_id: product.productId.toString(),\n label: product.name,\n brand: product.brand || '',\n is_verified: product.isVerified || true,\n flexible_attributes:\n product.channelCode == 'WCM' || product.channelCode == 'MGT' || product.channelCode == 'SPF' ? true : false, // add channels that do not support category_attributes ingestion\n images:\n product?.images?.map(image => {\n return {\n file_url: image.url\n }\n }) || [],\n product_attributes:\n product?.attributes?.map(attribute => {\n return {\n ...attribute,\n native_attribute_id: attribute.native_attribute_id.toString()\n }\n }) || [],\n variants: productVariations,\n has_all_variants: product.channelCode == 'MGT' ? false : true\n }\n })\n\n return {\n payload: [...newProducts]\n }\n },\n normalize(res) {\n return res\n }\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './sellercraft-channel-integration';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/platform-action.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,uFAAiF;AAEjF,MAAM,iBAAiB,GAAG,YAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;AAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAA;AAEpC,SAAS,UAAU,CAAC,IAAI,EAAE,GAAG;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,YAAY,CAAA;IACrB,IAAI,IAAI,CAAA;IAER,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"platform-action.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/platform-action.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,uFAAiF;AAEjF,MAAM,iBAAiB,GAAG,YAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;AAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAA;AAEpC,SAAS,UAAU,CAAC,IAAI,EAAE,GAAG;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,GAAG,YAAY,CAAA;IACrB,IAAI,IAAI,CAAA;IAER,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACxE,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAEM,MAAM,MAAM,GAAG,KAAK,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,IAAI,+DAA6B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5D,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAE/C,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEjC,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,QAAQ,CAAA;IAChB,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAbY,QAAA,MAAM,UAalB","sourcesContent":["import { config } from '@things-factory/env'\n\nimport { SellercraftChannelIntegration } from './sellercraft-channel-integration'\n\nconst sellercraftConfig = config.get('sellercraftChannelIntegrationConfig', {})\nconst { apiKey } = sellercraftConfig\n\nfunction substitute(path, obj) {\n var props = []\n var re = /{([^}]+)}/g\n var text\n\n while ((text = re.exec(path))) {\n props.push(text[1])\n }\n\n var result = path\n props.forEach(prop => {\n let value = obj[prop.trim()]\n result = result.replace(`{${prop}}`, value === undefined ? '' : value)\n })\n\n return result\n}\n\nexport const action = async ({ method = 'get', path, request }) => {\n const client = new SellercraftChannelIntegration({ apiKey })\n\n const { resource = {}, payload = {} } = request\n\n path = substitute(path, resource)\n\n var response = await client[method](path, payload)\n if (response.errors) {\n throw response\n }\n\n return response\n}\n"]}
|
package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.d.ts
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
export type SellercraftConfig = {
|
2
|
+
apiKey: string;
|
3
|
+
};
|
4
|
+
export declare class SellercraftChannelIntegration {
|
5
|
+
private config;
|
6
|
+
constructor(config: SellercraftConfig);
|
7
|
+
getBaseUrl(): string;
|
8
|
+
generateRequestId(): any;
|
9
|
+
post(path: string, data?: any): Promise<any>;
|
10
|
+
put(path: string, data?: any): Promise<any>;
|
11
|
+
get(path: string, data?: any): Promise<any>;
|
12
|
+
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sellercraft-channel-integration.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.ts"],"names":[],"mappings":";;;;AAAA,oEAA8B;AAC9B,+BAAmC;AACnC,uEAAmE;AAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,oDAAoD,CAAC,CAAA;AAMpF,MAAa,6BAA6B;IAGxC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,qBACN,MAAM,CACV,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,gCAAgC,CAAA;IACzC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,SAAM,GAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAY,EAAE;;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE9B,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,SAAS,GAAW,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAClD,MAAM,QAAQ,GAAW,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,CAAA;QAEtD,MAAM,QAAQ,GAAQ,MAAM,IAAA,oBAAK,EAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,MAAM;aACpB;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACpC,IAAI;
|
1
|
+
{"version":3,"file":"sellercraft-channel-integration.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch'\nimport { v4 as uuidv4 } from 'uuid'\nimport { createPayloadLog } from '@things-factory/integration-base'\n\nconst debug = require('debug')('things-factory:integration-sellercraft:sellercraft')\n\nexport type SellercraftConfig = {\n apiKey: string\n}\n\nexport class SellercraftChannelIntegration {\n private config: SellercraftConfig\n\n constructor(config: SellercraftConfig) {\n this.config = {\n ...config\n }\n }\n\n getBaseUrl() {\n return `https://open.sellercraft.co/v1`\n }\n\n generateRequestId() {\n return uuidv4()\n }\n\n async post(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n debug('data', data)\n\n const jsondata = JSON.stringify(data)\n const requestId: string = this.generateRequestId()\n const fullPath: string = `${this.getBaseUrl()}${path}`\n\n const response: any = await fetch(fullPath, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'X-Api-Key': apiKey\n },\n body: jsondata\n })\n\n const result = await response.json()\n try {\n createPayloadLog(JSON.parse(jsondata)[0]?.channel_shop_id || requestId, fullPath, jsondata, result, {\n state: { domain: null }\n })\n } catch (e) {}\n if (response.ok) {\n return result\n } else {\n throw new Error(`(${response.status}) ${result.detail}`)\n }\n }\n\n async put(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n const jsondata = JSON.stringify(data)\n const requestId: string = this.generateRequestId()\n const fullPath: string = `${this.getBaseUrl()}${path}`\n debug('data', data)\n\n const response: any = await fetch(fullPath, {\n method: 'put',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n },\n body: jsondata\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.json()\n throw new Error(`(${response.status}) ${result.message}`)\n }\n }\n\n async get(path: string, data: any = {}) {\n const { apiKey } = this.config\n\n const qs = Object.entries(data)\n .map(([k, v]) => `${k}=${encodeURIComponent(String(v))}`)\n .join('&')\n\n const fullPath: string = `${this.getBaseUrl()}${path}`\n const endpoint = `${fullPath}${qs ? '?' + qs : ''}`\n debug('endpoint', endpoint)\n\n const requestId: string = this.generateRequestId()\n\n const response: any = await fetch(endpoint, {\n method: 'get',\n headers: {\n 'Content-Type': 'application/json',\n request_id: requestId,\n 'x-api-key': apiKey\n }\n })\n\n if (response.ok) {\n return await response.json()\n } else {\n const result = await response.json()\n throw new Error(`(${response.status}) ${result.message}`)\n }\n }\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const api: (target: Object, property: string, descriptor: TypedPropertyDescriptor<any>) => any;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration-api/decorators.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAIzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,4DAA4D,CAAC,CAAA;AAEjF,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEZ,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAwC,EAAO,EAAE;IACrG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;IAE/B,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,KAAkB,EAAE,OAAO;QAC5D,MAAM,gCAAgC,GAAG,IAAI,CAAA;QAE7C,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAExB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,gCAAgC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE7F,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,CAAC,EAAE;
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../server/controllers/sellercraft-channel-integration-api/decorators.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAIzB,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,4DAA4D,CAAC,CAAA;AAEjF,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEZ,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,UAAwC,EAAO,EAAE;IACrG,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;IAE/B,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,KAAkB,EAAE,OAAO;QAC5D,MAAM,gCAAgC,GAAG,IAAI,CAAA;QAE7C,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;QAExB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,gCAAgC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QAE7F,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QAED,IAAI,EACF,IAAI,EACJ,MAAM,EAAE,UAAU,GAAG,MAAM,EAC3B,WAAW,GAAG,IAAI,EAClB,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,cAAc,EACxB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;QAE5B,IAAI,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9D,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAE9B,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YACtC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE;SAC3E,CAAC,CAAA;QAEF,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAE3B,OAAO,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AApCY,QAAA,GAAG,OAoCf","sourcesContent":["import Debug from 'debug'\n\nimport { Sellercraft } from '../../service'\n\nconst debug = Debug('things-factory:integration-marketplace:store-api-decorator')\n\nconst NOOP = v => v\n\nexport const api = (target: Object, property: string, descriptor: TypedPropertyDescriptor<any>): any => {\n const method = descriptor.value\n\n descriptor.value = async function (store: Sellercraft, request) {\n const SellercraftChannelIntegrationAPI = this\n\n var { platform } = store\n\n var { action: platformAction, apis } = SellercraftChannelIntegrationAPI.getPlatform(platform)\n\n var m = apis[method.name]\n if (!m) {\n throw Error(`Sellercraft doesn't have API ${method.name}`)\n }\n\n var {\n path,\n method: httpMethod = 'post',\n denormalize = NOOP,\n normalize = NOOP,\n action = platformAction\n } = m.apply(this, [request])\n\n var denormalized = await denormalize(request || {}, { store })\n debug('request', denormalized)\n\n var response = await action.apply(this, [\n { store, method: httpMethod, path, request: denormalized, platformAction }\n ])\n\n debug('response', response)\n\n return await normalize(response, { store })\n }\n\n return descriptor\n}\n"]}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Sellercraft } from '../../service';
|
2
|
+
export declare class SellercraftChannelIntegrationAPI {
|
3
|
+
static platforms: {};
|
4
|
+
static registerPlatform(name: any, action: any, apis: any): void;
|
5
|
+
static getPlatform(name: any): any;
|
6
|
+
static getSellercraft(id: any): Promise<Sellercraft>;
|
7
|
+
static echo(sellercraft: any, req: any): any;
|
8
|
+
static ingestChannelCategories(sellercraft: any, req: any): any;
|
9
|
+
static ingestChannelCategoryAttributes(sellercraft: any, req: any): any;
|
10
|
+
static ingestChannelOrderPackage(sellercraft: any, req: any): any;
|
11
|
+
static ingestChannelOrder(sellercraft: any, req: any): any;
|
12
|
+
static ingestChannelProduct(sellercraft: any, req: any): any;
|
13
|
+
}
|
@@ -29,6 +29,7 @@ class SellercraftChannelIntegrationAPI {
|
|
29
29
|
static ingestChannelOrder(sellercraft, req) { }
|
30
30
|
static ingestChannelProduct(sellercraft, req) { }
|
31
31
|
}
|
32
|
+
exports.SellercraftChannelIntegrationAPI = SellercraftChannelIntegrationAPI;
|
32
33
|
SellercraftChannelIntegrationAPI.platforms = {};
|
33
34
|
tslib_1.__decorate([
|
34
35
|
decorators_1.api,
|
@@ -66,5 +67,4 @@ tslib_1.__decorate([
|
|
66
67
|
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
67
68
|
tslib_1.__metadata("design:returntype", Object)
|
68
69
|
], SellercraftChannelIntegrationAPI, "ingestChannelProduct", null);
|
69
|
-
exports.SellercraftChannelIntegrationAPI = SellercraftChannelIntegrationAPI;
|
70
70
|
//# sourceMappingURL=index.js.map
|