idosell 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/changelog.md +6 -0
  2. package/dist/app.d.ts +8 -2
  3. package/dist/gateways.d.ts +195 -191
  4. package/dist/methods/deleteClientsTags.js +1 -1
  5. package/dist/methods/deleteDiscountsRebatesCard.js +1 -1
  6. package/dist/methods/deleteDiscountsRebatesCode.js +1 -1
  7. package/dist/methods/deleteProductsBundlesProducts.js +1 -1
  8. package/dist/methods/deleteProductsCollectionsProducts.js +1 -1
  9. package/dist/methods/deleteProductsImages.js +1 -1
  10. package/dist/methods/getClientsMembershipCards.js +1 -0
  11. package/dist/methods/postClients.js +1 -0
  12. package/dist/methods/postClientsBalance.js +1 -0
  13. package/dist/methods/postClientsDeliveryAddress.js +1 -0
  14. package/dist/methods/postClientsGiftcards.js +1 -0
  15. package/dist/methods/postClientsPayerAddress.js +1 -0
  16. package/dist/methods/postClientsPricelists.js +1 -0
  17. package/dist/methods/postClientsProfitPoints.js +1 -0
  18. package/dist/methods/postClientsTags.js +2 -1
  19. package/dist/methods/postCouriersPickupPoints.js +1 -0
  20. package/dist/methods/postCpa.js +1 -0
  21. package/dist/methods/postCpaCampaign.js +1 -0
  22. package/dist/methods/postDeliveriesRegions.js +1 -0
  23. package/dist/methods/postDiscountsGroups.js +1 -0
  24. package/dist/methods/postDiscountsRebatesCard.js +1 -0
  25. package/dist/methods/postDiscountsRebatesCode.js +1 -0
  26. package/dist/methods/postEntries.js +5 -0
  27. package/dist/methods/postMenu.js +1 -0
  28. package/dist/methods/postOrders.js +1 -0
  29. package/dist/methods/postOrdersDocuments.js +1 -0
  30. package/dist/methods/postOrdersDocumentsCreate.js +1 -0
  31. package/dist/methods/postOrdersImages.js +1 -0
  32. package/dist/methods/postOrdersPackages.js +1 -0
  33. package/dist/methods/postPackages.js +1 -0
  34. package/dist/methods/postPackagesLabels.js +1 -0
  35. package/dist/methods/postPayments.js +1 -0
  36. package/dist/methods/postPaymentsCancel.js +1 -0
  37. package/dist/methods/postPaymentsRepayment.js +1 -0
  38. package/dist/methods/postProducts.js +1 -0
  39. package/dist/methods/postProductsBrands.js +1 -0
  40. package/dist/methods/postProductsBundles.js +1 -1
  41. package/dist/methods/postProductsBundlesProducts.js +1 -1
  42. package/dist/methods/postProductsCollections.js +1 -1
  43. package/dist/methods/postProductsCollectionsProducts.js +1 -1
  44. package/dist/methods/postProductsMarketingPromotion.js +1 -0
  45. package/dist/methods/postProductsOpinions.js +1 -0
  46. package/dist/methods/postProductsRestore.js +2 -1
  47. package/dist/methods/postResponsibilityEntities.js +1 -0
  48. package/dist/methods/postReturns.js +1 -0
  49. package/dist/methods/postSnippets.js +1 -0
  50. package/dist/methods/postSnippetsCampaign.js +1 -0
  51. package/dist/methods/postSnippetsCookies.js +1 -0
  52. package/dist/methods/postVouchers.js +1 -0
  53. package/dist/methods/postWarranties.js +1 -0
  54. package/dist/methods/postWmsStocksdocumentsDocuments.js +1 -0
  55. package/dist/methods/postWmsStocksdocumentsProducts.js +1 -0
  56. package/dist/methods/putClients.js +1 -0
  57. package/dist/methods/putClientsDeliveryAddress.js +1 -0
  58. package/dist/methods/putClientsExternalCode.js +1 -0
  59. package/dist/methods/putClientsGiftcards.js +1 -0
  60. package/dist/methods/putClientsGiftcardsBlock.js +1 -0
  61. package/dist/methods/putClientsGiftcardsUnblock.js +1 -0
  62. package/dist/methods/putClientsPayerAddress.js +1 -0
  63. package/dist/methods/putClientsPricelists.js +1 -0
  64. package/dist/methods/putClientsPricelistsClients.js +1 -0
  65. package/dist/methods/putClientsPricelistsProducts.js +1 -0
  66. package/dist/methods/putClientsPricelistsRename.js +1 -0
  67. package/dist/methods/putConfigVariables.js +1 -0
  68. package/dist/methods/putCouriersPickupPoints.js +1 -0
  69. package/dist/methods/putCpa.js +1 -0
  70. package/dist/methods/putCpaCampaign.js +1 -0
  71. package/dist/methods/putDeliveriesDefaultProfiles.js +1 -0
  72. package/dist/methods/putDiscountsGroups.js +1 -0
  73. package/dist/methods/putDiscountsGroupsProducts.js +1 -0
  74. package/dist/methods/putDiscountsRebatesBlockCard.js +2 -1
  75. package/dist/methods/putDiscountsRebatesUnblockCard.js +2 -1
  76. package/dist/methods/putEntries.js +1 -0
  77. package/dist/methods/putMenu.js +1 -0
  78. package/dist/methods/putMenuFilter.js +1 -0
  79. package/dist/methods/putMenuSort.js +1 -0
  80. package/dist/methods/putOrders.js +1 -0
  81. package/dist/methods/putOrdersCourier.js +1 -0
  82. package/dist/methods/putOrdersDeliveryAddress.js +1 -0
  83. package/dist/methods/putOrdersDevide.js +1 -0
  84. package/dist/methods/putOrdersHandler.js +1 -0
  85. package/dist/methods/putOrdersPackages.js +1 -0
  86. package/dist/methods/putOrdersPickupPoint.js +1 -0
  87. package/dist/methods/putOrdersProductsSerialNumbers.js +1 -0
  88. package/dist/methods/putOrdersShippingCosts.js +1 -0
  89. package/dist/methods/putOrdersWarehouse.js +1 -0
  90. package/dist/methods/putPayments.js +1 -0
  91. package/dist/methods/putPaymentsConfirm.js +1 -0
  92. package/dist/methods/putProducts.js +1 -0
  93. package/dist/methods/putProductsBrands.js +1 -0
  94. package/dist/methods/putProductsBrandsFilter.js +1 -0
  95. package/dist/methods/putProductsBundlesProductsQuantity.js +1 -1
  96. package/dist/methods/putProductsBundlesRenew.js +1 -1
  97. package/dist/methods/putProductsCategories.js +1 -0
  98. package/dist/methods/putProductsCollectionsProducts.js +2 -1
  99. package/dist/methods/putProductsCollectionsRenew.js +2 -1
  100. package/dist/methods/putProductsDescriptions.js +1 -0
  101. package/dist/methods/putProductsGroupsMainProduct.js +1 -0
  102. package/dist/methods/putProductsGroupsOrder.js +1 -0
  103. package/dist/methods/putProductsGroupsSettings.js +1 -0
  104. package/dist/methods/putProductsImages.js +1 -0
  105. package/dist/methods/putProductsMarketingPromotion.js +1 -0
  106. package/dist/methods/putProductsMarketingZones.js +1 -0
  107. package/dist/methods/putProductsOmnibusPrices.js +1 -0
  108. package/dist/methods/putProductsOpinions.js +1 -0
  109. package/dist/methods/putProductsParameters.js +1 -0
  110. package/dist/methods/putProductsSeries.js +1 -0
  111. package/dist/methods/putProductsSeriesFilter.js +1 -0
  112. package/dist/methods/putProductsSizes.js +1 -0
  113. package/dist/methods/putProductsStockQuantity.js +1 -0
  114. package/dist/methods/putProductsStocks.js +1 -0
  115. package/dist/methods/putProductsStrikethroughPrices.js +1 -0
  116. package/dist/methods/putProductsSupplierCode.js +1 -0
  117. package/dist/methods/putProductsSupplierProductData.js +1 -0
  118. package/dist/methods/putRefundsCancelRefund.js +1 -0
  119. package/dist/methods/putRefundsConfirmRefund.js +1 -0
  120. package/dist/methods/putRefundsUpdateRefund.js +1 -0
  121. package/dist/methods/putResponsibilityEntities.js +1 -0
  122. package/dist/methods/putReturns.js +1 -0
  123. package/dist/methods/putReturnsSerialNumber.js +1 -0
  124. package/dist/methods/putRma.js +1 -0
  125. package/dist/methods/putSizecharts.js +1 -0
  126. package/dist/methods/putSizes.js +1 -0
  127. package/dist/methods/putSnippets.js +1 -0
  128. package/dist/methods/putSnippetsCampaign.js +1 -0
  129. package/dist/methods/putSnippetsCookies.js +1 -0
  130. package/dist/methods/putSystemConfig.js +1 -0
  131. package/dist/methods/putSystemCurrencies.js +2 -1
  132. package/dist/methods/putSystemProcessesAutomation.js +1 -0
  133. package/dist/methods/putSystemUnits.js +1 -0
  134. package/dist/methods/putVouchers.js +1 -0
  135. package/dist/methods/putVouchersBlock.js +1 -0
  136. package/dist/methods/putVouchersUnblock.js +1 -0
  137. package/dist/methods/putWarranties.js +1 -0
  138. package/dist/methods/putWarrantiesLanguageData.js +1 -0
  139. package/dist/methods/putWmsStocksdocumentsAcceptMM.js +1 -0
  140. package/dist/methods/putWmsStocksdocumentsClose.js +1 -0
  141. package/dist/methods/putWmsStocksdocumentsDocuments.js +1 -0
  142. package/dist/methods/putWmsStocksdocumentsProducts.js +1 -0
  143. package/dist/methods/putWmsStocksdocumentsRejectMM.js +1 -0
  144. package/dist/methods/putWmsSuppliers.js +1 -0
  145. package/dist/methods/searchPackages.js +1 -1
  146. package/dist/params.js +14 -7
  147. package/dist/request.js +44 -0
  148. package/package.json +1 -1
  149. package/tests/postEntries.test.js +5 -0
  150. package/tests/putRefundsConfirmRefund.test.js +3 -3
  151. package/tests/searchPackages.test.js +5 -0
@@ -1,5 +1,6 @@
1
1
  import { paramsProxy } from "../params.js";
2
2
  export default (object) => {
3
3
  object.gate = { method: 'put', node: '/wms/stocksdocuments/acceptMM' };
4
+ object.req = ["id"];
4
5
  return new Proxy(object, paramsProxy);
5
6
  };
@@ -1,5 +1,6 @@
1
1
  import { paramsProxy } from "../params.js";
2
2
  export default (object) => {
3
3
  object.gate = { method: 'put', node: '/wms/stocksdocuments/close' };
4
+ object.req = ["type", "id"];
4
5
  return new Proxy(object, paramsProxy);
5
6
  };
@@ -1,5 +1,6 @@
1
1
  import { paramsProxy } from "../params.js";
2
2
  export default (object) => {
3
3
  object.gate = { method: 'put', node: '/wms/stocksdocuments/documents' };
4
+ object.req = ["stockDocumentId", "stockDocumentType"];
4
5
  return new Proxy(object, paramsProxy);
5
6
  };
@@ -6,6 +6,7 @@ export default (object) => {
6
6
  arrayNode: "products",
7
7
  index: 0
8
8
  };
9
+ object.req = ["type", "id", "product", "size"];
9
10
  object.arrays = ["products"];
10
11
  return new Proxy(object, paramsProxy);
11
12
  };
@@ -1,5 +1,6 @@
1
1
  import { paramsProxy } from "../params.js";
2
2
  export default (object) => {
3
3
  object.gate = { method: 'put', node: '/wms/stocksdocuments/rejectMM' };
4
+ object.req = ["id"];
4
5
  return new Proxy(object, paramsProxy);
5
6
  };
@@ -6,6 +6,7 @@ export default (object) => {
6
6
  arrayNode: "suppliers",
7
7
  index: 0
8
8
  };
9
+ object.req = ["name"];
9
10
  object.arrays = ["suppliers"];
10
11
  return new Proxy(object, paramsProxy);
11
12
  };
@@ -7,7 +7,7 @@ export default (object) => {
7
7
  returns: (returnIds) => ({ eventType: "return", eventsIds: Array.isArray(returnIds) ? returnIds : [returnIds] })
8
8
  };
9
9
  object.appendable = {
10
- except: ["deliveryPackagenumbers", "returnLabels"],
10
+ except: ["deliveryPackageNumbers", "returnLabels"],
11
11
  arrayNode: "events",
12
12
  index: 0
13
13
  };
package/dist/params.js CHANGED
@@ -7,16 +7,19 @@ const requests = {
7
7
  hasNext,
8
8
  toString,
9
9
  getAttributes,
10
- setParams: (object, value) => {
10
+ setParams: (object, value, receiver) => {
11
11
  object.params = value;
12
- return new Proxy(object, paramsProxy);
12
+ return receiver;
13
13
  }
14
14
  };
15
15
  export const paramsProxy = {
16
- get: (object, property) => {
16
+ get: (object, property, receiver) => {
17
+ if (property === 'then') {
18
+ return Promise.resolve(object);
19
+ }
17
20
  return (...values) => {
18
21
  if (requests[property]) {
19
- return requests[property](object, values[0]);
22
+ return requests[property](object, values[0], receiver);
20
23
  }
21
24
  else if (object.appendable && object.appendable.arrayNode !== property && !object.appendable.except.includes(property)) {
22
25
  if (!object.params[object.appendable.arrayNode])
@@ -28,7 +31,10 @@ export const paramsProxy = {
28
31
  }
29
32
  else if (object.custom && typeof object.custom[property] === 'function') {
30
33
  const param = object.custom[property](...values);
31
- Object.assign(item, param);
34
+ if (param.root)
35
+ Object.assign(object.params, param.root);
36
+ else
37
+ Object.assign(item, param);
32
38
  }
33
39
  else {
34
40
  item[property] = values[0];
@@ -46,9 +52,10 @@ export const paramsProxy = {
46
52
  else
47
53
  object.params[property] = [values[0]];
48
54
  }
49
- else
55
+ else {
50
56
  object.params[property] = values[0];
51
- return new Proxy(object, paramsProxy);
57
+ }
58
+ return receiver;
52
59
  };
53
60
  }
54
61
  };
package/dist/request.js CHANGED
@@ -69,6 +69,48 @@ export const queryfy = (params) => {
69
69
  }
70
70
  return output.slice(0, -1);
71
71
  };
72
+ const isMissingRequirement = (obj, required) => {
73
+ if (typeof required === 'string') {
74
+ if (obj[required])
75
+ return false;
76
+ else
77
+ return required;
78
+ }
79
+ else if (required.any) {
80
+ for (const field of required.any) {
81
+ if (obj[field])
82
+ return false;
83
+ }
84
+ return required.any.join(' | ');
85
+ }
86
+ return false;
87
+ };
88
+ const processRequired = (request) => {
89
+ if (!request.req)
90
+ return;
91
+ const missing = new Set();
92
+ for (const req of request.req) {
93
+ const missingField = isMissingRequirement(request.params, req);
94
+ if (missingField)
95
+ missing.add(missingField);
96
+ }
97
+ if (request.appendable && request.params[request.appendable.arrayNode]) {
98
+ for (const req of request.req) {
99
+ if (typeof req === 'string') {
100
+ if (request.appendable.except.includes(req))
101
+ continue;
102
+ missing.delete(req);
103
+ for (const obj of request.params[request.appendable.arrayNode]) {
104
+ const missingField = isMissingRequirement(obj, req);
105
+ if (missingField)
106
+ missing.add(missingField);
107
+ }
108
+ }
109
+ }
110
+ }
111
+ if (missing.size)
112
+ throw new Error(`Brak wymaganych pól: ${[...missing].join(', ')}`);
113
+ };
72
114
  export const sendRequest = async (request, options = {}) => {
73
115
  if (request.appendable?.arrayNode && request.params[request.appendable.arrayNode]) {
74
116
  const array = request.params[request.appendable.arrayNode];
@@ -77,6 +119,8 @@ export const sendRequest = async (request, options = {}) => {
77
119
  array.pop();
78
120
  }
79
121
  }
122
+ if (!options.skipCheck)
123
+ processRequired(request);
80
124
  const headers = {
81
125
  'X-API-KEY': request.auth.apiKey,
82
126
  Accept: 'application/json'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "idosell",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "Idosell 3 REST connector",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/gateways.d.ts",
@@ -4,4 +4,9 @@ import { expect, test } from "vitest"
4
4
  test("postEntriesTitle", () => {
5
5
  const params = idosell().postEntries.langId("pol").shopId(1).shortDescription("entry").longDescription("My Entry").visible("y").date("2023-12-18").titleLinkType("fullContentLink").title("title").getParams();
6
6
  expect(params).toEqual({"langs":[{"langId":"pol","shortDescription":"entry","longDescription":"My Entry","title":"title"}],"shopId":1,"visible":"y","date":"2023-12-18","titleLinkType":"fullContentLink"});
7
+ })
8
+
9
+ test("postEntriesNews", () => {
10
+ const params = idosell().postEntries.blog().news().getParams();
11
+ expect(params).toEqual({"langs":[{}],"visibleOnSitesList":[{"siteId":"display_on_blog"},{"sizeId":"display_on_news"}]});
7
12
  })
@@ -1,7 +1,7 @@
1
- import idosell from "./dist/index"
1
+ import idosell from "./dist/index.ts"
2
2
  import { expect, test } from "vitest"
3
3
 
4
4
  test("putRefundsConfirmRefundPaymentId", () => {
5
- const params = idosell().putRefundsConfirmRefund.sourceType("order").sourceId(3).paymentId(4).getParams();
6
- expect(params).toEqual({"sourceType":"order","sourceId":3,"paymentId":4});
5
+ const params = idosell().putRefundsConfirmRefund.sourceType("order").sourceId(206).paymentId(4).getParams();
6
+ expect(params).toEqual({"sourceType":"order","sourceId":206,"paymentId":4});
7
7
  })
@@ -14,4 +14,9 @@ test("searchPackagesReturns", () => {
14
14
  test("searchPackagesRma", () => {
15
15
  const params = idosell().searchPackages.rma([1]).getParams();
16
16
  expect(params).toEqual({"events":[{"eventType":"rma","eventsIds":[1]}]});
17
+ })
18
+
19
+ test("searchPackagesDeliveryPackageNumbers", () => {
20
+ const params = idosell().searchPackages.deliveryPackageNumbers(123456789).getParams();
21
+ expect(params).toEqual({"deliveryPackageNumbers":[123456789]});
17
22
  })