oneentry 1.0.159 → 1.0.161
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/README.md +2 -0
- package/changelog.md +56 -1
- package/dist/admins/adminsApi.d.ts +15 -1
- package/dist/admins/adminsApi.js +29 -0
- package/dist/admins/adminsInterfaces.d.ts +37 -1
- package/dist/base/lazySchema.d.ts +15 -0
- package/dist/base/lazySchema.js +20 -0
- package/dist/discounts/discountsApi.d.ts +14 -1
- package/dist/discounts/discountsApi.js +21 -0
- package/dist/discounts/discountsInterfaces.d.ts +27 -1
- package/dist/filters/filtersInterfaces.d.ts +2 -2
- package/dist/filters/filtersSchemas.d.ts +1 -1
- package/dist/filters/filtersSchemas.js +4 -1
- package/dist/forms-data/formsDataApi.d.ts +14 -1
- package/dist/forms-data/formsDataApi.js +21 -0
- package/dist/forms-data/formsDataInterfaces.d.ts +74 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +3 -0
- package/dist/orders/ordersApi.d.ts +15 -1
- package/dist/orders/ordersApi.js +22 -0
- package/dist/orders/ordersInterfaces.d.ts +27 -1
- package/dist/pages/pagesApi.d.ts +14 -1
- package/dist/pages/pagesApi.js +21 -0
- package/dist/pages/pagesInterfaces.d.ts +38 -1
- package/dist/payments/paymentsInterfaces.d.ts +2 -2
- package/dist/products/productsInterfaces.d.ts +1 -1
- package/dist/search/searchApi.d.ts +35 -0
- package/dist/search/searchApi.js +86 -0
- package/dist/search/searchInterfaces.d.ts +94 -0
- package/dist/search/searchInterfaces.js +2 -0
- package/dist/search/searchSchemas.d.ts +73 -0
- package/dist/search/searchSchemas.js +44 -0
- package/dist/templates-preview/templatesPreviewInterfaces.d.ts +0 -2
- package/dist/templates-preview/templatesPreviewSchemas.d.ts +0 -2
- package/dist/templates-preview/templatesPreviewSchemas.js +0 -1
- package/dist/types.d.ts +35 -0
- package/dist/types.js +2 -0
- package/dist/users/usersApi.d.ts +15 -1
- package/dist/users/usersApi.js +22 -0
- package/dist/users/usersInterfaces.d.ts +39 -1
- package/dist/web-socket/lazySocket.d.ts +18 -0
- package/dist/web-socket/lazySocket.js +70 -0
- package/esm/admins/adminsApi.d.ts +66 -0
- package/esm/admins/adminsApi.js +90 -0
- package/esm/admins/adminsInterfaces.d.ts +137 -0
- package/esm/admins/adminsInterfaces.js +1 -0
- package/esm/admins/adminsSchemas.d.ts +48 -0
- package/esm/admins/adminsSchemas.js +31 -0
- package/esm/attribute-sets/attributeSetsApi.d.ts +67 -0
- package/esm/attribute-sets/attributeSetsApi.js +97 -0
- package/esm/attribute-sets/attributeSetsInterfaces.d.ts +285 -0
- package/esm/attribute-sets/attributeSetsInterfaces.js +1 -0
- package/esm/attribute-sets/attributeSetsSchemas.d.ts +84 -0
- package/esm/attribute-sets/attributeSetsSchemas.js +66 -0
- package/esm/auth-provider/authProviderApi.d.ts +262 -0
- package/esm/auth-provider/authProviderApi.js +362 -0
- package/esm/auth-provider/authProviderSchemas.d.ts +124 -0
- package/esm/auth-provider/authProviderSchemas.js +92 -0
- package/esm/auth-provider/authProvidersInterfaces.d.ts +430 -0
- package/esm/auth-provider/authProvidersInterfaces.js +1 -0
- package/esm/base/asyncModules.d.ts +123 -0
- package/esm/base/asyncModules.js +382 -0
- package/esm/base/lazySchema.d.ts +15 -0
- package/esm/base/lazySchema.js +17 -0
- package/esm/base/stateModule.d.ts +35 -0
- package/esm/base/stateModule.js +51 -0
- package/esm/base/syncModules.d.ts +245 -0
- package/esm/base/syncModules.js +555 -0
- package/esm/base/timeIntervals.d.ts +95 -0
- package/esm/base/timeIntervals.js +317 -0
- package/esm/base/utils.d.ts +354 -0
- package/esm/base/utils.js +1 -0
- package/esm/base/validation.d.ts +98 -0
- package/esm/base/validation.js +118 -0
- package/esm/blocks/blocksApi.d.ts +252 -0
- package/esm/blocks/blocksApi.js +394 -0
- package/esm/blocks/blocksInterfaces.d.ts +361 -0
- package/esm/blocks/blocksInterfaces.js +1 -0
- package/esm/blocks/blocksSchemas.d.ts +213 -0
- package/esm/blocks/blocksSchemas.js +40 -0
- package/esm/discounts/discountsApi.d.ts +94 -0
- package/esm/discounts/discountsApi.js +136 -0
- package/esm/discounts/discountsInterfaces.d.ts +293 -0
- package/esm/discounts/discountsInterfaces.js +1 -0
- package/esm/events/eventsApi.d.ts +108 -0
- package/esm/events/eventsApi.js +141 -0
- package/esm/events/eventsInterfaces.d.ts +176 -0
- package/esm/events/eventsInterfaces.js +1 -0
- package/esm/file-uploading/fileUploadingApi.d.ts +91 -0
- package/esm/file-uploading/fileUploadingApi.js +127 -0
- package/esm/file-uploading/fileUploadingInterfaces.d.ts +116 -0
- package/esm/file-uploading/fileUploadingInterfaces.js +1 -0
- package/esm/file-uploading/fileUploadingSchemas.d.ts +24 -0
- package/esm/file-uploading/fileUploadingSchemas.js +19 -0
- package/esm/filters/filtersApi.d.ts +32 -0
- package/esm/filters/filtersApi.js +36 -0
- package/esm/filters/filtersInterfaces.d.ts +56 -0
- package/esm/filters/filtersInterfaces.js +1 -0
- package/esm/filters/filtersSchemas.d.ts +32 -0
- package/esm/filters/filtersSchemas.js +29 -0
- package/esm/forms/formsApi.d.ts +44 -0
- package/esm/forms/formsApi.js +54 -0
- package/esm/forms/formsInterfaces.d.ts +237 -0
- package/esm/forms/formsInterfaces.js +1 -0
- package/esm/forms/formsSchemas.d.ts +56 -0
- package/esm/forms/formsSchemas.js +32 -0
- package/esm/forms-data/formsDataApi.d.ts +124 -0
- package/esm/forms-data/formsDataApi.js +210 -0
- package/esm/forms-data/formsDataInterfaces.d.ts +670 -0
- package/esm/forms-data/formsDataInterfaces.js +1 -0
- package/esm/forms-data/formsDataSchemas.d.ts +107 -0
- package/esm/forms-data/formsDataSchemas.js +83 -0
- package/esm/general-types/generalTypesApi.d.ts +29 -0
- package/esm/general-types/generalTypesApi.js +34 -0
- package/esm/general-types/generalTypesInterfaces.d.ts +29 -0
- package/esm/general-types/generalTypesInterfaces.js +1 -0
- package/esm/general-types/generalTypesSchemas.d.ts +68 -0
- package/esm/general-types/generalTypesSchemas.js +42 -0
- package/esm/index.d.ts +143 -0
- package/esm/index.js +124 -0
- package/esm/integration-collections/integrationCollectionsApi.d.ts +172 -0
- package/esm/integration-collections/integrationCollectionsApi.js +224 -0
- package/esm/integration-collections/integrationCollectionsInterfaces.d.ts +317 -0
- package/esm/integration-collections/integrationCollectionsInterfaces.js +1 -0
- package/esm/integration-collections/integrationCollectionsSchemas.d.ts +84 -0
- package/esm/integration-collections/integrationCollectionsSchemas.js +60 -0
- package/esm/locales/localesApi.d.ts +28 -0
- package/esm/locales/localesApi.js +33 -0
- package/esm/locales/localesInterfaces.d.ts +40 -0
- package/esm/locales/localesInterfaces.js +1 -0
- package/esm/locales/localesSchemas.d.ts +32 -0
- package/esm/locales/localesSchemas.js +23 -0
- package/esm/menus/menusApi.d.ts +30 -0
- package/esm/menus/menusApi.js +35 -0
- package/esm/menus/menusInterfaces.d.ts +87 -0
- package/esm/menus/menusInterfaces.js +2 -0
- package/esm/menus/menusSchemas.d.ts +16 -0
- package/esm/menus/menusSchemas.js +25 -0
- package/esm/orders/ordersApi.d.ts +213 -0
- package/esm/orders/ordersApi.js +288 -0
- package/esm/orders/ordersInterfaces.d.ts +763 -0
- package/esm/orders/ordersInterfaces.js +1 -0
- package/esm/orders/ordersSchemas.d.ts +312 -0
- package/esm/orders/ordersSchemas.js +171 -0
- package/esm/package.json +4 -0
- package/esm/pages/pagesApi.d.ts +173 -0
- package/esm/pages/pagesApi.js +414 -0
- package/esm/pages/pagesInterfaces.d.ts +344 -0
- package/esm/pages/pagesInterfaces.js +1 -0
- package/esm/pages/pagesSchemas.d.ts +121 -0
- package/esm/pages/pagesSchemas.js +60 -0
- package/esm/payments/paymentsApi.d.ts +88 -0
- package/esm/payments/paymentsApi.js +122 -0
- package/esm/payments/paymentsInterfaces.d.ts +189 -0
- package/esm/payments/paymentsInterfaces.js +1 -0
- package/esm/payments/paymentsSchemas.d.ts +94 -0
- package/esm/payments/paymentsSchemas.js +53 -0
- package/esm/product-statuses/productStatusesApi.d.ts +50 -0
- package/esm/product-statuses/productStatusesApi.js +68 -0
- package/esm/product-statuses/productStatusesInterfaces.d.ts +62 -0
- package/esm/product-statuses/productStatusesInterfaces.js +1 -0
- package/esm/product-statuses/productStatusesSchemas.d.ts +34 -0
- package/esm/product-statuses/productStatusesSchemas.js +27 -0
- package/esm/products/productsApi.d.ts +366 -0
- package/esm/products/productsApi.js +468 -0
- package/esm/products/productsInterfaces.d.ts +723 -0
- package/esm/products/productsInterfaces.js +1 -0
- package/esm/products/productsSchemas.d.ts +234 -0
- package/esm/products/productsSchemas.js +121 -0
- package/esm/search/searchApi.d.ts +35 -0
- package/esm/search/searchApi.js +47 -0
- package/esm/search/searchInterfaces.d.ts +94 -0
- package/esm/search/searchInterfaces.js +1 -0
- package/esm/search/searchSchemas.d.ts +73 -0
- package/esm/search/searchSchemas.js +41 -0
- package/esm/sitemap/sitemapApi.d.ts +37 -0
- package/esm/sitemap/sitemapApi.js +41 -0
- package/esm/sitemap/sitemapInterfaces.d.ts +51 -0
- package/esm/sitemap/sitemapInterfaces.js +1 -0
- package/esm/subscriptions/subscriptionsApi.d.ts +74 -0
- package/esm/subscriptions/subscriptionsApi.js +90 -0
- package/esm/subscriptions/subscriptionsInterfaces.d.ts +111 -0
- package/esm/subscriptions/subscriptionsInterfaces.js +1 -0
- package/esm/subscriptions/subscriptionsSchemas.d.ts +46 -0
- package/esm/subscriptions/subscriptionsSchemas.js +38 -0
- package/esm/system/systemApi.d.ts +46 -0
- package/esm/system/systemApi.js +53 -0
- package/esm/system/systemInterfaces.d.ts +29 -0
- package/esm/system/systemInterfaces.js +1 -0
- package/esm/templates/templatesApi.d.ts +53 -0
- package/esm/templates/templatesApi.js +78 -0
- package/esm/templates/templatesInterfaces.d.ts +68 -0
- package/esm/templates/templatesInterfaces.js +1 -0
- package/esm/templates/templatesSchemas.d.ts +48 -0
- package/esm/templates/templatesSchemas.js +28 -0
- package/esm/templates-preview/templatesPreviewApi.d.ts +40 -0
- package/esm/templates-preview/templatesPreviewApi.js +50 -0
- package/esm/templates-preview/templatesPreviewInterfaces.d.ts +129 -0
- package/esm/templates-preview/templatesPreviewInterfaces.js +1 -0
- package/esm/templates-preview/templatesPreviewSchemas.d.ts +79 -0
- package/esm/templates-preview/templatesPreviewSchemas.js +43 -0
- package/esm/types.d.ts +35 -0
- package/esm/types.js +1 -0
- package/esm/user-activity/userActivityApi.d.ts +31 -0
- package/esm/user-activity/userActivityApi.js +37 -0
- package/esm/user-activity/userActivityInterfaces.d.ts +42 -0
- package/esm/user-activity/userActivityInterfaces.js +1 -0
- package/esm/users/usersApi.d.ts +249 -0
- package/esm/users/usersApi.js +312 -0
- package/esm/users/usersInterfaces.d.ts +419 -0
- package/esm/users/usersInterfaces.js +1 -0
- package/esm/users/usersSchemas.d.ts +72 -0
- package/esm/users/usersSchemas.js +55 -0
- package/esm/web-socket/lazySocket.d.ts +18 -0
- package/esm/web-socket/lazySocket.js +67 -0
- package/esm/web-socket/wsApi.d.ts +27 -0
- package/esm/web-socket/wsApi.js +43 -0
- package/esm/web-socket/wsInterfaces.d.ts +16 -0
- package/esm/web-socket/wsInterfaces.js +1 -0
- package/package.json +47 -2
- package/types.d.ts +1 -0
- package/types.js +1 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import AsyncModules from '../base/asyncModules.js';
|
|
2
|
+
import createSchemaLoader from '../base/lazySchema.js';
|
|
3
|
+
const schema = createSchemaLoader(() => import('./ordersSchemas.js'));
|
|
4
|
+
/**
|
|
5
|
+
* Controllers for working with orders.
|
|
6
|
+
* @handle /api/content/orders-storage
|
|
7
|
+
* @module OrdersApi
|
|
8
|
+
* @description This module provides methods for working with orders, including retrieving, creating, and updating orders in the order storage.
|
|
9
|
+
*/
|
|
10
|
+
export default class OrdersApi extends AsyncModules {
|
|
11
|
+
/**
|
|
12
|
+
* Constructs an instance of the OrdersApi class.
|
|
13
|
+
* @param {StateModule} state - The state module containing the necessary information for making API calls.
|
|
14
|
+
* @description Constructor initializes the OrdersApi with a given state.
|
|
15
|
+
*/
|
|
16
|
+
constructor(state) {
|
|
17
|
+
super(state);
|
|
18
|
+
this._url = state.url + '/api/content/orders-storage';
|
|
19
|
+
this._ordersUrl = state.url + '/api/content/orders';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Getting all the order storage objects.
|
|
23
|
+
* @handleName getAllOrdersStorage
|
|
24
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
25
|
+
* @param {number} [offset] - Optional parameter for pagination. Default: 0.
|
|
26
|
+
* @param {number} [limit] - Optional parameter for pagination. Default: 30.
|
|
27
|
+
* @returns {Promise<IOrdersEntity[] | IError>} Returns an array of order storage objects.
|
|
28
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
29
|
+
* @description This method requires user authorization.
|
|
30
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
31
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllOrdersStorage getAllOrdersStorage} documentation.
|
|
32
|
+
*/
|
|
33
|
+
async getAllOrdersStorage(langCode = this.state.lang, offset = 0, limit = 30) {
|
|
34
|
+
const result = await this._fetchGet(`?langCode=${langCode}&limit=${limit}&offset=${offset}`);
|
|
35
|
+
return this._normalizeData(result);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Getting all orders from the orders storage object created by the user.
|
|
39
|
+
* @handleName getAllOrdersByMarker
|
|
40
|
+
* @param {string} marker - Textual identifier of the order storage object. Example: "order_storage_1".
|
|
41
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
42
|
+
* @param {number} [offset] - Offset parameter. Default: 0.
|
|
43
|
+
* @param {number} [limit] - Limit parameter. Default: 30.
|
|
44
|
+
* @returns {Promise<IOrdersByMarkerEntity | IError>} Returns an object with the orders.
|
|
45
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
46
|
+
* @description This method requires user authorization.
|
|
47
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
48
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllOrdersByMarker getAllOrdersByMarker} documentation.
|
|
49
|
+
*/
|
|
50
|
+
async getAllOrdersByMarker(marker, langCode = this.state.lang, offset = 0, limit = 30) {
|
|
51
|
+
const result = await this._fetchGet(`/marker/${marker}/orders?langCode=${langCode}&limit=${limit}&offset=${offset}`);
|
|
52
|
+
// Validate response if validation is enabled
|
|
53
|
+
const validated = await this._validateResponse(result, schema('OrdersResponseSchema'));
|
|
54
|
+
return this._normalizeData(validated);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Retrieve one order storage object by marker.
|
|
58
|
+
* @handleName getOrdersStorageByMarker
|
|
59
|
+
* @param {string} marker - Marker of the order object. Example: "order_storage_1".
|
|
60
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
61
|
+
* @returns {Promise<IOrdersEntity | IError>} Return object of order information.
|
|
62
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
63
|
+
* @description This method requires user authorization.
|
|
64
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
65
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrdersStorageByMarker getOrdersStorageByMarker} documentation.
|
|
66
|
+
*/
|
|
67
|
+
async getOrdersStorageByMarker(marker, langCode = this.state.lang) {
|
|
68
|
+
const result = await this._fetchGet(`/marker/${marker}?langCode=${langCode}`);
|
|
69
|
+
return this._normalizeData(result);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Getting a single order from the order storage object created by the user.
|
|
73
|
+
* @handleName getOrderByMarkerAndId
|
|
74
|
+
* @param {string} marker - The text identifier of the order storage object. Example: "order_storage_1".
|
|
75
|
+
* @param {number} id - ID of the order object. Example: 12345.
|
|
76
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
77
|
+
* @returns {Promise<IOrderByMarkerEntity | IError>} Returns an object with the order.
|
|
78
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
79
|
+
* @description This method requires user authorization.
|
|
80
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
81
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrderByMarkerAndId getOrderByMarkerAndId} documentation.
|
|
82
|
+
*/
|
|
83
|
+
async getOrderByMarkerAndId(marker, id, langCode = this.state.lang) {
|
|
84
|
+
const result = await this._fetchGet(`/marker/${marker}/orders/${id}?langCode=${langCode}`);
|
|
85
|
+
// Validate response if validation is enabled
|
|
86
|
+
const validated = await this._validateResponse(result, schema('OrderEntitySchema'));
|
|
87
|
+
return this._normalizeData(validated);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Preview order calculation with discounts and coupons (without saving).
|
|
91
|
+
* @handleName previewOrder
|
|
92
|
+
* @param {ICreateOrderPreview} body - Order preview body.
|
|
93
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
94
|
+
* @returns {Promise<IOrderPreviewResponse | IError>} Returns an object with the order preview.
|
|
95
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
96
|
+
* @description This method requires user authorization.
|
|
97
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
98
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/previewOrder previewOrder} documentation.
|
|
99
|
+
*/
|
|
100
|
+
async previewOrder(body, langCode = this.state.lang) {
|
|
101
|
+
const result = await this._fetchPost(`/orders/preview?langCode=${langCode}`, body);
|
|
102
|
+
return this._normalizeData(result);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Creation of an order in the order storage.
|
|
106
|
+
* @handleName createOrder
|
|
107
|
+
* @param {string} marker - Textual identifier of the order storage object. Example: "order_storage_1".
|
|
108
|
+
* @param {IOrderData} body - Object for creating an order.
|
|
109
|
+
* @example
|
|
110
|
+
{
|
|
111
|
+
"formIdentifier": "bar-orders-form",
|
|
112
|
+
"paymentAccountIdentifier": "usd-payment",
|
|
113
|
+
"formData": {
|
|
114
|
+
"marker": "name_1",
|
|
115
|
+
"value": "Name",
|
|
116
|
+
"type": "string"
|
|
117
|
+
},
|
|
118
|
+
"products": [
|
|
119
|
+
{
|
|
120
|
+
"productId": 1,
|
|
121
|
+
"quantity": 2
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
126
|
+
* @returns {Promise<IBaseOrdersEntity | IError>} Returns an object with the created order.
|
|
127
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
128
|
+
* @description This method requires user authorization.
|
|
129
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
130
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/createOrder createOrder} documentation.
|
|
131
|
+
*/
|
|
132
|
+
async createOrder(marker, body, langCode = this.state.lang) {
|
|
133
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
134
|
+
const formData = {};
|
|
135
|
+
formData[langCode] = Array.isArray(body.formData)
|
|
136
|
+
? body.formData
|
|
137
|
+
: [body.formData];
|
|
138
|
+
body.formData = formData;
|
|
139
|
+
const result = await this._fetchPost(`/marker/${marker}/orders`, body);
|
|
140
|
+
// Validate response if validation is enabled
|
|
141
|
+
const validated = await this._validateResponse(result, schema('CreateOrderResponseSchema'));
|
|
142
|
+
return this._normalizeData(validated);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Changing an order in the orders storage
|
|
146
|
+
* @handleName updateOrderByMarkerAndId
|
|
147
|
+
* @param {string} marker - The text identifier of the order storage object. Example: "order_storage_1".
|
|
148
|
+
* @param {number} id - ID of the order object. Example: 12345.
|
|
149
|
+
* @param {IOrderData} body - Object for updating an order.
|
|
150
|
+
* @example
|
|
151
|
+
{
|
|
152
|
+
"formIdentifier": "bar-orders-form",
|
|
153
|
+
"paymentAccountIdentifier": "usd-payment",
|
|
154
|
+
"formData": {
|
|
155
|
+
"marker": "name_1",
|
|
156
|
+
"value": "Name",
|
|
157
|
+
"type": "string"
|
|
158
|
+
},
|
|
159
|
+
"products": [
|
|
160
|
+
{
|
|
161
|
+
"productId": 1,
|
|
162
|
+
"quantity": 2
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"currency": "USD"
|
|
166
|
+
}
|
|
167
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
168
|
+
* @returns {Promise<IBaseOrdersEntity | IError>} Returns an object with the updated order.
|
|
169
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
170
|
+
* @description This method requires user authorization.
|
|
171
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
172
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/updateOrderByMarkerAndId updateOrderByMarkerAndId} documentation.
|
|
173
|
+
*/
|
|
174
|
+
async updateOrderByMarkerAndId(marker, id, body, langCode = this.state.lang) {
|
|
175
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
176
|
+
const formData = {};
|
|
177
|
+
formData[langCode] = Array.isArray(body.formData)
|
|
178
|
+
? body.formData
|
|
179
|
+
: [body.formData];
|
|
180
|
+
body.formData = formData;
|
|
181
|
+
const result = await this._fetchPut(`/marker/${marker}/orders/${id}?langCode=${langCode}`, body);
|
|
182
|
+
// Validate response if validation is enabled
|
|
183
|
+
const validated = await this._validateResponse(result, schema('UpdateOrderResponseSchema'));
|
|
184
|
+
return this._normalizeData(validated);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get all orders statuses by Storage marker
|
|
188
|
+
* @handleName getAllStatusesByStorageMarker
|
|
189
|
+
* @param {string} marker - Textual identifier of the order storage object. Example: "order_storage_1".
|
|
190
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
191
|
+
* @param {number} [offset] - Offset parameter. Default: 0.
|
|
192
|
+
* @param {number} [limit] - Limit parameter. Default: 30.
|
|
193
|
+
* @returns {Promise<IOrderStatus[] | IError>} Returns an object with the orders statuses.
|
|
194
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
195
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
196
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getAllStatusesByStorageMarker getAllStatusesByStorageMarker} documentation.
|
|
197
|
+
*/
|
|
198
|
+
async getAllStatusesByStorageMarker(marker, langCode = this.state.lang, offset = 0, limit = 30) {
|
|
199
|
+
const query = {
|
|
200
|
+
langCode,
|
|
201
|
+
offset,
|
|
202
|
+
limit,
|
|
203
|
+
};
|
|
204
|
+
const data = await this._fetchGet(`/marker/${marker}/order-statuses?` + this._queryParamsToString(query));
|
|
205
|
+
return this._normalizeData(data);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Get all refund requests for an order.
|
|
209
|
+
* @handleName getRefunds
|
|
210
|
+
* @param {number} id - Order id. Example: 1.
|
|
211
|
+
* @returns {Promise<IRefundRequest[] | IError>} Returns array of refund requests.
|
|
212
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
213
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getRefunds getRefunds} documentation.
|
|
214
|
+
*/
|
|
215
|
+
async getRefunds(id) {
|
|
216
|
+
const data = await this._withOrdersUrl(() => this._fetchGet(`/${id}/refund`));
|
|
217
|
+
return this._normalizeData(data);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Create a refund request for an order.
|
|
221
|
+
* @handleName createRefundRequest
|
|
222
|
+
* @param {number} id - Order id. Example: 1.
|
|
223
|
+
* @param {ICreateRefundRequest} body - Refund request body.
|
|
224
|
+
* @returns {Promise<boolean | IError>} Returns true if the refund request was created successfully.
|
|
225
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
226
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/createRefundRequest createRefundRequest} documentation.
|
|
227
|
+
*/
|
|
228
|
+
async createRefundRequest(id, body) {
|
|
229
|
+
const data = await this._withOrdersUrl(() => this._fetchPost(`/${id}/refund`, body));
|
|
230
|
+
return this._normalizeData(data);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Cancel a refund request for an order.
|
|
234
|
+
* @handleName cancelRefundRequest
|
|
235
|
+
* @param {number} id - Order id. Example: 1.
|
|
236
|
+
* @returns {Promise<boolean | IError>} Returns true if the refund request was cancelled successfully.
|
|
237
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
238
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/cancelRefundRequest cancelRefundRequest} documentation.
|
|
239
|
+
*/
|
|
240
|
+
async cancelRefundRequest(id) {
|
|
241
|
+
const data = await this._withOrdersUrl(() => this._fetchDelete(`/${id}/refund`));
|
|
242
|
+
return this._normalizeData(data);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Semantic (vector) search for the current user's orders.
|
|
246
|
+
* @handleName getOrdersByVectorSearch
|
|
247
|
+
* @param {IOrdersVectorSearch} body - Vector search body. Example: `{ queryText: "winter jacket" }`.
|
|
248
|
+
* @param {string} [langCode] - Language code. Default: "en_US".
|
|
249
|
+
* @param {number} [offset] - Parameter for pagination. Default: 0.
|
|
250
|
+
* @param {number} [limit] - Parameter for pagination. Default: 30.
|
|
251
|
+
* @returns {Promise<IOrdersByMarkerEntity | IError>} Returns an object with an array of found orders and total count.
|
|
252
|
+
* @throws {IError} When isShell=false and an error occurs during the fetch
|
|
253
|
+
* @description This method performs a semantic (vector) search over the orders of the authorized user. It requires user authorization.
|
|
254
|
+
* @see For more information about configuring the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider authorization module}, see the documentation in the {@link https://js-sdk.oneentry.cloud/docs/category/authprovider configuration settings section of the SDK}.
|
|
255
|
+
* @see {@link https://js-sdk.oneentry.cloud/docs/orders/getOrdersByVectorSearch getOrdersByVectorSearch} documentation.
|
|
256
|
+
*/
|
|
257
|
+
async getOrdersByVectorSearch(body, langCode = this.state.lang, offset = 0, limit = 30) {
|
|
258
|
+
const query = {
|
|
259
|
+
langCode,
|
|
260
|
+
offset,
|
|
261
|
+
limit,
|
|
262
|
+
};
|
|
263
|
+
const data = await this._withOrdersUrl(() => this._fetchPost(`/vector/search?` + this._queryParamsToString(query), body));
|
|
264
|
+
return this._normalizeData(data, langCode);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Runs a fetch against the `/orders` base URL instead of the default
|
|
268
|
+
* `/orders-storage`, then restores the original URL.
|
|
269
|
+
*
|
|
270
|
+
* Refund endpoints live under `/api/content/orders`, while this class is based
|
|
271
|
+
* on `/api/content/orders-storage`. The helper swaps `_url` for the duration of
|
|
272
|
+
* the call and restores it in `finally`, so the base URL is restored even if
|
|
273
|
+
* the request throws.
|
|
274
|
+
* @param {() => Promise<T>} fetcher - Thunk performing the fetch call.
|
|
275
|
+
* @returns {Promise<T>} The fetcher result.
|
|
276
|
+
* @template T
|
|
277
|
+
*/
|
|
278
|
+
async _withOrdersUrl(fetcher) {
|
|
279
|
+
const savedUrl = this._url;
|
|
280
|
+
this._url = this._ordersUrl;
|
|
281
|
+
try {
|
|
282
|
+
return await fetcher();
|
|
283
|
+
}
|
|
284
|
+
finally {
|
|
285
|
+
this._url = savedUrl;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|