@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.
Files changed (81) hide show
  1. package/dist-server/constants/index.d.ts +2 -0
  2. package/dist-server/constants/order-status-mapping.d.ts +27 -0
  3. package/dist-server/constants/order-status-mapping.js +9 -9
  4. package/dist-server/constants/order-status-mapping.js.map +1 -1
  5. package/dist-server/constants/platform.d.ts +6 -0
  6. package/dist-server/controllers/index.d.ts +4 -0
  7. package/dist-server/controllers/sellercraft/apis/add-inbound-order.d.ts +8 -0
  8. package/dist-server/controllers/sellercraft/apis/echo.d.ts +12 -0
  9. package/dist-server/controllers/sellercraft/apis/fetch-order-document.d.ts +16 -0
  10. package/dist-server/controllers/sellercraft/apis/index.d.ts +8 -0
  11. package/dist-server/controllers/sellercraft/apis/initiate-order-document.d.ts +12 -0
  12. package/dist-server/controllers/sellercraft/apis/initiate-order-shipment.d.ts +17 -0
  13. package/dist-server/controllers/sellercraft/apis/pack-marketplace-order.d.ts +12 -0
  14. package/dist-server/controllers/sellercraft/apis/update-marketplace-order.d.ts +6 -0
  15. package/dist-server/controllers/sellercraft/apis/update-product.d.ts +11 -0
  16. package/dist-server/controllers/sellercraft/index.d.ts +1 -0
  17. package/dist-server/controllers/sellercraft/platform-action.d.ts +5 -0
  18. package/dist-server/controllers/sellercraft/platform-action.js.map +1 -1
  19. package/dist-server/controllers/sellercraft/sellercraft.d.ts +12 -0
  20. package/dist-server/controllers/sellercraft/sellercraft.js.map +1 -1
  21. package/dist-server/controllers/sellercraft-api/decorators.d.ts +1 -0
  22. package/dist-server/controllers/sellercraft-api/decorators.js.map +1 -1
  23. package/dist-server/controllers/sellercraft-api/index.d.ts +15 -0
  24. package/dist-server/controllers/sellercraft-api/index.js +1 -1
  25. package/dist-server/controllers/sellercraft-api/index.js.map +1 -1
  26. package/dist-server/controllers/sellercraft-api/types.d.ts +0 -0
  27. package/dist-server/controllers/sellercraft-channel-integration/apis/echo.d.ts +12 -0
  28. package/dist-server/controllers/sellercraft-channel-integration/apis/index.d.ts +6 -0
  29. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.d.ts +8 -0
  30. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.d.ts +11 -0
  31. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.d.ts +8 -0
  32. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.d.ts +8 -0
  33. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.d.ts +8 -0
  34. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js +2 -2
  35. package/dist-server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.js.map +1 -1
  36. package/dist-server/controllers/sellercraft-channel-integration/index.d.ts +1 -0
  37. package/dist-server/controllers/sellercraft-channel-integration/platform-action.d.ts +5 -0
  38. package/dist-server/controllers/sellercraft-channel-integration/platform-action.js.map +1 -1
  39. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.d.ts +12 -0
  40. package/dist-server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.js.map +1 -1
  41. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.d.ts +1 -0
  42. package/dist-server/controllers/sellercraft-channel-integration-api/decorators.js.map +1 -1
  43. package/dist-server/controllers/sellercraft-channel-integration-api/index.d.ts +13 -0
  44. package/dist-server/controllers/sellercraft-channel-integration-api/index.js +1 -1
  45. package/dist-server/controllers/sellercraft-channel-integration-api/index.js.map +1 -1
  46. package/dist-server/controllers/sellercraft-channel-integration-api/types.d.ts +0 -0
  47. package/dist-server/index.d.ts +6 -0
  48. package/dist-server/middlewares/index.d.ts +1 -0
  49. package/dist-server/migrations/index.d.ts +1 -0
  50. package/dist-server/routers/sellercraft-router.d.ts +1 -0
  51. package/dist-server/routers/sellercraft-router.js +4 -4
  52. package/dist-server/routers/sellercraft-router.js.map +1 -1
  53. package/dist-server/routes.d.ts +1 -0
  54. package/dist-server/service/index.d.ts +7 -0
  55. package/dist-server/service/marketplace-channel/index.d.ts +5 -0
  56. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.d.ts +3 -0
  57. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js +3 -3
  58. package/dist-server/service/marketplace-channel/marketplace-channel-order-mutation.js.map +1 -1
  59. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.d.ts +3 -0
  60. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js +3 -3
  61. package/dist-server/service/marketplace-channel/marketplace-channel-product-mutation.js.map +1 -1
  62. package/dist-server/service/marketplace-channel/marketplace-channel.d.ts +18 -0
  63. package/dist-server/service/marketplace-channel/marketplace-channel.js +2 -2
  64. package/dist-server/service/marketplace-channel/marketplace-channel.js.map +1 -1
  65. package/dist-server/service/sellercraft/index.d.ts +5 -0
  66. package/dist-server/service/sellercraft/sellercraft-mutation.d.ts +9 -0
  67. package/dist-server/service/sellercraft/sellercraft-mutation.js +2 -2
  68. package/dist-server/service/sellercraft/sellercraft-mutation.js.map +1 -1
  69. package/dist-server/service/sellercraft/sellercraft-query.d.ts +11 -0
  70. package/dist-server/service/sellercraft/sellercraft-query.js +2 -2
  71. package/dist-server/service/sellercraft/sellercraft-query.js.map +1 -1
  72. package/dist-server/service/sellercraft/sellercraft-type.d.ts +21 -0
  73. package/dist-server/service/sellercraft/sellercraft-type.js +6 -6
  74. package/dist-server/service/sellercraft/sellercraft-type.js.map +1 -1
  75. package/dist-server/service/sellercraft/sellercraft.d.ts +27 -0
  76. package/dist-server/service/sellercraft/sellercraft.js +4 -4
  77. package/dist-server/service/sellercraft/sellercraft.js.map +1 -1
  78. package/dist-server/tsconfig.tsbuildinfo +1 -1
  79. package/dist-server/utils/tokencraft-util.d.ts +2 -0
  80. package/dist-server/utils/tokencraft-util.js.map +1 -1
  81. package/package.json +13 -13
@@ -0,0 +1,2 @@
1
+ export * from './platform';
2
+ export * from './order-status-mapping';
@@ -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;IAC1B,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,EAAE;IACX,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"]}
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,6 @@
1
+ export declare const PLATFORM: {
2
+ WCM: string;
3
+ MGT: string;
4
+ TTK: string;
5
+ SPF: string;
6
+ };
@@ -0,0 +1,4 @@
1
+ import './sellercraft';
2
+ export * from './sellercraft-api';
3
+ export * from './sellercraft-channel-integration';
4
+ export * from './sellercraft-channel-integration-api';
@@ -0,0 +1,8 @@
1
+ export declare function addInboundOrder(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: any;
6
+ };
7
+ normalize(res: any): any;
8
+ };
@@ -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,12 @@
1
+ export declare function initiateOrderDocument(): {
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): any;
12
+ };
@@ -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,12 @@
1
+ export declare function packMarketplaceOrder(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: {
6
+ account_id: any;
7
+ order_id: any;
8
+ packages: any[];
9
+ };
10
+ };
11
+ normalize(res: any): string;
12
+ };
@@ -0,0 +1,6 @@
1
+ export declare function updateMarketplaceOrder(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): any;
5
+ normalize(res: any): any;
6
+ };
@@ -0,0 +1,11 @@
1
+ export declare function updateProduct(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: {
6
+ account_id: any;
7
+ products: any;
8
+ };
9
+ };
10
+ normalize(res: any): any;
11
+ };
@@ -0,0 +1 @@
1
+ export * from './sellercraft';
@@ -0,0 +1,5 @@
1
+ export declare const action: ({ method, path, request }: {
2
+ method?: string;
3
+ path: any;
4
+ request: any;
5
+ }) => Promise<any>;
@@ -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;QAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;KACpB;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;QACnB,MAAM,QAAQ,CAAA;KACf;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"]}
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":"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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"]}
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;YACN,MAAM,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;SAC3D;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;YACF,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;SAC5C;QAAC,OAAO,KAAK,EAAE;YACd,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;SACZ;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"]}
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;;AA3CvC,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;AA5ChD,wCA6CC","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"]}
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"]}
@@ -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,6 @@
1
+ export * from './echo';
2
+ export * from './ingest-channel-categories';
3
+ export * from './ingest-channel-category-attributes';
4
+ export * from './ingest-channel-order-package';
5
+ export * from './ingest-channel-order';
6
+ export * from './ingest-channel-product';
@@ -0,0 +1,8 @@
1
+ export declare function ingestChannelCategories(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: any[];
6
+ };
7
+ normalize(res: any): any;
8
+ };
@@ -0,0 +1,11 @@
1
+ export declare function ingestChannelCategoryAttributes(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: {
6
+ channel_attribute_keys: any;
7
+ sc_attribute_keys: any;
8
+ };
9
+ };
10
+ normalize(res: any): any;
11
+ };
@@ -0,0 +1,8 @@
1
+ export declare function ingestChannelOrderPackage(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: any;
6
+ };
7
+ normalize(res: any): any;
8
+ };
@@ -0,0 +1,8 @@
1
+ export declare function ingestChannelOrder(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: any[];
6
+ };
7
+ normalize(res: any): any;
8
+ };
@@ -0,0 +1,8 @@
1
+ export declare function ingestChannelProduct(): {
2
+ method: string;
3
+ path: string;
4
+ denormalize(req: any): {
5
+ payload: any[];
6
+ };
7
+ normalize(res: any): any;
8
+ };
@@ -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
@@ -1 +1 @@
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"]}
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';
@@ -0,0 +1,5 @@
1
+ export declare const action: ({ method, path, request }: {
2
+ method?: string;
3
+ path: any;
4
+ request: any;
5
+ }) => Promise<any>;
@@ -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;QAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;KACpB;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;QACnB,MAAM,QAAQ,CAAA;KACf;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"]}
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"]}
@@ -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":"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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"]}
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;YACN,MAAM,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;SAC3D;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"]}
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