@arrowsphere/api-client 3.17.0 → 3.18.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4
4
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
+ ## [3.18.0] - 2023-01-10
7
+
8
+ ### Changed
9
+
10
+ - Add endpoint cart
11
+
6
12
  ## [3.17.0] - 2022-12-05
7
13
 
8
14
  ### Changed
@@ -140,6 +140,15 @@ export declare abstract class AbstractClient {
140
140
  * @returns Promise\<T\>
141
141
  */
142
142
  protected patch<T>(payload?: Payload, parameters?: Parameters, headers?: Headers, options?: Options): Promise<T>;
143
+ /**
144
+ * Sends a DELETE request
145
+ * @param payload - Payload to be sent in the POST body
146
+ * @param parameters - Query parameters to be sent in the request
147
+ * @param headers - Headers to be sent in the request
148
+ * @param options - Options to send
149
+ * @returns Promise\<T\>
150
+ */
151
+ protected delete(parameters?: Parameters, headers?: Headers, options?: Options): Promise<void>;
143
152
  /**
144
153
  * Generates the full url for request
145
154
  * @param parameters - Parameters to serialize
@@ -195,6 +195,20 @@ class AbstractClient {
195
195
  });
196
196
  return this.getResponse(response);
197
197
  }
198
+ /**
199
+ * Sends a DELETE request
200
+ * @param payload - Payload to be sent in the POST body
201
+ * @param parameters - Query parameters to be sent in the request
202
+ * @param headers - Headers to be sent in the request
203
+ * @param options - Options to send
204
+ * @returns Promise\<T\>
205
+ */
206
+ async delete(parameters = {}, headers = {}, options = {}) {
207
+ const response = await this.client.delete(this.generateUrl(parameters, options), {
208
+ headers: this.prepareHeaders(headers),
209
+ });
210
+ return this.getResponse(response);
211
+ }
198
212
  /**
199
213
  * Generates the full url for request
200
214
  * @param parameters - Parameters to serialize
@@ -0,0 +1,33 @@
1
+ import { AbstractClient, Parameters } from '../abstractClient';
2
+ import { GetResult } from '../getResult';
3
+ import { Item, ItemList } from './entities';
4
+ export declare enum ItemRequestFields {
5
+ ADDITIONAL_DATA = "additionalData",
6
+ OFFER_NAME = "offerName",
7
+ PRICE_BAND_ARROWSPHERE_SKU = "priceBandArrowsphereSku",
8
+ QUANTITY = "quantity"
9
+ }
10
+ export declare enum ItemAdditionalDataRequestFields {
11
+ NAME = "name",
12
+ VALUE = "value"
13
+ }
14
+ export declare type ItemAdditionalDataRequestType = {
15
+ [ItemAdditionalDataRequestFields.NAME]: string;
16
+ [ItemAdditionalDataRequestFields.VALUE]: string;
17
+ };
18
+ export declare type ItemRequestType = {
19
+ [ItemRequestFields.ADDITIONAL_DATA]?: ItemAdditionalDataRequestType[];
20
+ [ItemRequestFields.OFFER_NAME]: string;
21
+ [ItemRequestFields.PRICE_BAND_ARROWSPHERE_SKU]: string;
22
+ [ItemRequestFields.QUANTITY]: number;
23
+ };
24
+ export declare type ItemAddRequestType = ItemRequestType;
25
+ export declare type ItemUpdateRequestType = ItemRequestType;
26
+ export declare class CartClient extends AbstractClient {
27
+ protected basePath: string;
28
+ addItem(postData: ItemAddRequestType, parameters?: Parameters): Promise<GetResult<Item>>;
29
+ updateItem(itemId: string, postData: ItemUpdateRequestType, parameters?: Parameters): Promise<GetResult<Item>>;
30
+ removeItem(itemId: string, parameters?: Parameters): Promise<void>;
31
+ removeItems(parameters?: Parameters): Promise<void>;
32
+ listItems(perPage?: number, page?: number, parameters?: Parameters): Promise<GetResult<ItemList>>;
33
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartClient = exports.ItemAdditionalDataRequestFields = exports.ItemRequestFields = void 0;
4
+ const abstractClient_1 = require("../abstractClient");
5
+ const getResult_1 = require("../getResult");
6
+ const entities_1 = require("./entities");
7
+ var ItemRequestFields;
8
+ (function (ItemRequestFields) {
9
+ ItemRequestFields["ADDITIONAL_DATA"] = "additionalData";
10
+ ItemRequestFields["OFFER_NAME"] = "offerName";
11
+ ItemRequestFields["PRICE_BAND_ARROWSPHERE_SKU"] = "priceBandArrowsphereSku";
12
+ ItemRequestFields["QUANTITY"] = "quantity";
13
+ })(ItemRequestFields = exports.ItemRequestFields || (exports.ItemRequestFields = {}));
14
+ var ItemAdditionalDataRequestFields;
15
+ (function (ItemAdditionalDataRequestFields) {
16
+ ItemAdditionalDataRequestFields["NAME"] = "name";
17
+ ItemAdditionalDataRequestFields["VALUE"] = "value";
18
+ })(ItemAdditionalDataRequestFields = exports.ItemAdditionalDataRequestFields || (exports.ItemAdditionalDataRequestFields = {}));
19
+ class CartClient extends abstractClient_1.AbstractClient {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.basePath = '/cart';
23
+ }
24
+ async addItem(postData, parameters = {}) {
25
+ return new getResult_1.GetResult(entities_1.Item, await this.post(postData, parameters));
26
+ }
27
+ async updateItem(itemId, postData, parameters = {}) {
28
+ this.path = `/${itemId}`;
29
+ return new getResult_1.GetResult(entities_1.Item, await this.patch(postData, parameters));
30
+ }
31
+ async removeItem(itemId, parameters = {}) {
32
+ this.path = `/${itemId}`;
33
+ return this.delete(parameters);
34
+ }
35
+ async removeItems(parameters = {}) {
36
+ return this.delete(parameters);
37
+ }
38
+ async listItems(perPage = 25, page = 1, parameters = {}) {
39
+ this.setPerPage(perPage);
40
+ this.setPage(page);
41
+ return new getResult_1.GetResult(entities_1.ItemList, await this.get(parameters));
42
+ }
43
+ }
44
+ exports.CartClient = CartClient;
45
+ //# sourceMappingURL=cartClient.js.map
@@ -0,0 +1,2 @@
1
+ export * from './item';
2
+ export * from './itemList';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./item"), exports);
14
+ __exportStar(require("./itemList"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,33 @@
1
+ import { AbstractEntity } from '../../abstractEntity';
2
+ export declare enum ItemAdditionalDataFields {
3
+ NAME = "name",
4
+ VALUE = "value"
5
+ }
6
+ export declare type ItemAdditionalDataType = {
7
+ [ItemAdditionalDataFields.NAME]: string;
8
+ [ItemAdditionalDataFields.VALUE]: string;
9
+ };
10
+ export declare enum ItemFields {
11
+ ITEM_ID = "itemId",
12
+ ADDITIONAL_DATA = "additionalData",
13
+ OFFER_NAME = "offerName",
14
+ PRICE_BAND_ARROWSPHERE_SKU = "priceBandArrowsphereSku",
15
+ QUANTITY = "quantity"
16
+ }
17
+ export declare type ItemType = {
18
+ [ItemFields.ADDITIONAL_DATA]?: ItemAdditionalDataType[] | undefined;
19
+ [ItemFields.ITEM_ID]: string;
20
+ [ItemFields.OFFER_NAME]: string;
21
+ [ItemFields.PRICE_BAND_ARROWSPHERE_SKU]: string;
22
+ [ItemFields.QUANTITY]: number;
23
+ };
24
+ export declare class Item extends AbstractEntity<ItemType> {
25
+ #private;
26
+ constructor(itemResponse: ItemType);
27
+ get itemId(): string;
28
+ get additionalData(): ItemAdditionalDataType[] | undefined;
29
+ get offerName(): string;
30
+ get priceBandArrowsphereSku(): string;
31
+ get quantity(): number;
32
+ toJSON(): ItemType;
33
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
3
+ if (!privateMap.has(receiver)) {
4
+ throw new TypeError("attempted to set private field on non-instance");
5
+ }
6
+ privateMap.set(receiver, value);
7
+ return value;
8
+ };
9
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
10
+ if (!privateMap.has(receiver)) {
11
+ throw new TypeError("attempted to get private field on non-instance");
12
+ }
13
+ return privateMap.get(receiver);
14
+ };
15
+ var _additionalData, _itemId, _offerName, _priceBandArrowsphereSku, _quantity;
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Item = exports.ItemFields = exports.ItemAdditionalDataFields = void 0;
18
+ const abstractEntity_1 = require("../../abstractEntity");
19
+ var ItemAdditionalDataFields;
20
+ (function (ItemAdditionalDataFields) {
21
+ ItemAdditionalDataFields["NAME"] = "name";
22
+ ItemAdditionalDataFields["VALUE"] = "value";
23
+ })(ItemAdditionalDataFields = exports.ItemAdditionalDataFields || (exports.ItemAdditionalDataFields = {}));
24
+ var ItemFields;
25
+ (function (ItemFields) {
26
+ ItemFields["ITEM_ID"] = "itemId";
27
+ ItemFields["ADDITIONAL_DATA"] = "additionalData";
28
+ ItemFields["OFFER_NAME"] = "offerName";
29
+ ItemFields["PRICE_BAND_ARROWSPHERE_SKU"] = "priceBandArrowsphereSku";
30
+ ItemFields["QUANTITY"] = "quantity";
31
+ })(ItemFields = exports.ItemFields || (exports.ItemFields = {}));
32
+ class Item extends abstractEntity_1.AbstractEntity {
33
+ constructor(itemResponse) {
34
+ super(itemResponse);
35
+ _additionalData.set(this, void 0);
36
+ _itemId.set(this, void 0);
37
+ _offerName.set(this, void 0);
38
+ _priceBandArrowsphereSku.set(this, void 0);
39
+ _quantity.set(this, void 0);
40
+ __classPrivateFieldSet(this, _additionalData, itemResponse[ItemFields.ADDITIONAL_DATA]);
41
+ __classPrivateFieldSet(this, _itemId, itemResponse[ItemFields.ITEM_ID]);
42
+ __classPrivateFieldSet(this, _offerName, itemResponse[ItemFields.OFFER_NAME]);
43
+ __classPrivateFieldSet(this, _priceBandArrowsphereSku, itemResponse[ItemFields.PRICE_BAND_ARROWSPHERE_SKU]);
44
+ __classPrivateFieldSet(this, _quantity, itemResponse[ItemFields.QUANTITY]);
45
+ }
46
+ get itemId() {
47
+ return __classPrivateFieldGet(this, _itemId);
48
+ }
49
+ get additionalData() {
50
+ return __classPrivateFieldGet(this, _additionalData);
51
+ }
52
+ get offerName() {
53
+ return __classPrivateFieldGet(this, _offerName);
54
+ }
55
+ get priceBandArrowsphereSku() {
56
+ return __classPrivateFieldGet(this, _priceBandArrowsphereSku);
57
+ }
58
+ get quantity() {
59
+ return __classPrivateFieldGet(this, _quantity);
60
+ }
61
+ toJSON() {
62
+ return {
63
+ [ItemFields.ADDITIONAL_DATA]: this.additionalData,
64
+ [ItemFields.ITEM_ID]: this.itemId,
65
+ [ItemFields.OFFER_NAME]: this.offerName,
66
+ [ItemFields.PRICE_BAND_ARROWSPHERE_SKU]: this.priceBandArrowsphereSku,
67
+ [ItemFields.QUANTITY]: this.quantity,
68
+ };
69
+ }
70
+ }
71
+ exports.Item = Item;
72
+ _additionalData = new WeakMap(), _itemId = new WeakMap(), _offerName = new WeakMap(), _priceBandArrowsphereSku = new WeakMap(), _quantity = new WeakMap();
73
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1,9 @@
1
+ import { AbstractEntity } from '../../abstractEntity';
2
+ import { Item, ItemType } from './item';
3
+ export declare type ItemListType = Array<ItemType>;
4
+ export declare class ItemList extends AbstractEntity<ItemListType> {
5
+ #private;
6
+ constructor(itemListResponse: ItemListType);
7
+ get items(): Item[];
8
+ toJSON(): ItemType[];
9
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
3
+ if (!privateMap.has(receiver)) {
4
+ throw new TypeError("attempted to set private field on non-instance");
5
+ }
6
+ privateMap.set(receiver, value);
7
+ return value;
8
+ };
9
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
10
+ if (!privateMap.has(receiver)) {
11
+ throw new TypeError("attempted to get private field on non-instance");
12
+ }
13
+ return privateMap.get(receiver);
14
+ };
15
+ var _items;
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ItemList = void 0;
18
+ const abstractEntity_1 = require("../../abstractEntity");
19
+ const item_1 = require("./item");
20
+ class ItemList extends abstractEntity_1.AbstractEntity {
21
+ constructor(itemListResponse) {
22
+ super(itemListResponse);
23
+ _items.set(this, void 0);
24
+ __classPrivateFieldSet(this, _items, itemListResponse.map((item) => new item_1.Item(item)));
25
+ }
26
+ get items() {
27
+ return __classPrivateFieldGet(this, _items);
28
+ }
29
+ toJSON() {
30
+ return this.items.map((item) => item.toJSON());
31
+ }
32
+ }
33
+ exports.ItemList = ItemList;
34
+ _items = new WeakMap();
35
+ //# sourceMappingURL=itemList.js.map
@@ -0,0 +1,2 @@
1
+ export * from './entities';
2
+ export * from './cartClient';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./entities"), exports);
14
+ __exportStar(require("./cartClient"), exports);
15
+ //# sourceMappingURL=index.js.map
package/build/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './abstractClient';
3
3
  export * from './abstractEntity';
4
4
  export * from './abstractGraphQLClient';
5
5
  export * from './campaign/';
6
+ export * from './cart/';
6
7
  export * from './catalog/';
7
8
  export * from './consumption';
8
9
  export * from './customers/';
package/build/index.js CHANGED
@@ -28,6 +28,7 @@ __exportStar(require("./abstractClient"), exports);
28
28
  __exportStar(require("./abstractEntity"), exports);
29
29
  __exportStar(require("./abstractGraphQLClient"), exports);
30
30
  __exportStar(require("./campaign/"), exports);
31
+ __exportStar(require("./cart/"), exports);
31
32
  __exportStar(require("./catalog/"), exports);
32
33
  __exportStar(require("./consumption"), exports);
33
34
  __exportStar(require("./customers/"), exports);
@@ -9,6 +9,7 @@ import { CampaignClient } from './campaign';
9
9
  import { ConsumptionClient } from './consumption';
10
10
  import { StandardsClient } from './security/standards/standardsClient';
11
11
  import { RegisterClient } from './security';
12
+ import { CartClient } from './cart/cartClient';
12
13
  /**
13
14
  * Public API Client class, should be the main entry point for your calls
14
15
  */
@@ -57,5 +58,6 @@ export declare class PublicApiClient extends AbstractClient {
57
58
  getConsumptionClient(): ConsumptionClient;
58
59
  getSecurityStandardsClient(): StandardsClient;
59
60
  getSecurityRegisterClient(): RegisterClient;
61
+ getCartClient(): CartClient;
60
62
  }
61
63
  export default PublicApiClient;
@@ -12,6 +12,7 @@ const campaign_1 = require("./campaign");
12
12
  const consumption_1 = require("./consumption");
13
13
  const standardsClient_1 = require("./security/standards/standardsClient");
14
14
  const security_1 = require("./security");
15
+ const cartClient_1 = require("./cart/cartClient");
15
16
  /**
16
17
  * Public API Client class, should be the main entry point for your calls
17
18
  */
@@ -117,6 +118,12 @@ class PublicApiClient extends abstractClient_1.AbstractClient {
117
118
  .setApiKey(this.apiKey)
118
119
  .setHeaders(this.headers);
119
120
  }
121
+ getCartClient() {
122
+ return new cartClient_1.CartClient()
123
+ .setUrl(this.url)
124
+ .setApiKey(this.apiKey)
125
+ .setHeaders(this.headers);
126
+ }
120
127
  }
121
128
  exports.PublicApiClient = PublicApiClient;
122
129
  exports.default = PublicApiClient;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/ArrowSphere/nodejs-api-client.git"
6
6
  },
7
- "version": "3.17.0",
7
+ "version": "3.18.0-rc.1",
8
8
  "description": "Node.js client for ArrowSphere's public API",
9
9
  "main": "build/index.js",
10
10
  "types": "build/index.d.ts",