oneentry 1.0.10 → 1.0.13

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 (226) hide show
  1. package/README.md +91 -215
  2. package/dist/_cjs/admins/adminsApi.d.ts +14 -0
  3. package/dist/_cjs/admins/adminsApi.js +34 -0
  4. package/dist/_cjs/admins/adminsApi.js.map +1 -0
  5. package/dist/_cjs/admins/adminsInterfaces.d.ts +32 -0
  6. package/dist/_cjs/admins/adminsInterfaces.js +3 -0
  7. package/dist/_cjs/admins/adminsInterfaces.js.map +1 -0
  8. package/dist/_cjs/attribute-set/attributeSetApi.d.ts +24 -0
  9. package/dist/_cjs/attribute-set/attributeSetApi.js +49 -0
  10. package/dist/_cjs/attribute-set/attributeSetApi.js.map +1 -0
  11. package/dist/_cjs/attribute-set/attributeSetInterfaces.d.ts +23 -0
  12. package/dist/_cjs/attribute-set/attributeSetInterfaces.js +3 -0
  13. package/dist/_cjs/attribute-set/attributeSetInterfaces.js.map +1 -0
  14. package/dist/_cjs/base/oneEntry.d.ts +9 -0
  15. package/dist/_cjs/base/oneEntry.js +55 -0
  16. package/dist/_cjs/base/oneEntry.js.map +1 -0
  17. package/dist/_cjs/base/utils.d.ts +32 -0
  18. package/dist/_cjs/base/utils.js +32 -0
  19. package/dist/_cjs/base/utils.js.map +1 -0
  20. package/dist/_cjs/forms/formsApi.d.ts +26 -0
  21. package/dist/_cjs/forms/formsApi.js +56 -0
  22. package/dist/_cjs/forms/formsApi.js.map +1 -0
  23. package/dist/_cjs/forms/formsInterfaces.d.ts +28 -0
  24. package/dist/_cjs/forms/formsInterfaces.js +3 -0
  25. package/dist/_cjs/forms/formsInterfaces.js.map +1 -0
  26. package/dist/_cjs/formsData/formsDataApi.d.ts +41 -0
  27. package/dist/_cjs/formsData/formsDataApi.js +71 -0
  28. package/dist/_cjs/formsData/formsDataApi.js.map +1 -0
  29. package/dist/_cjs/formsData/formsDataInterfaces.d.ts +25 -0
  30. package/dist/_cjs/formsData/formsDataInterfaces.js +3 -0
  31. package/dist/_cjs/formsData/formsDataInterfaces.js.map +1 -0
  32. package/dist/_cjs/general-types/generalTypesApi.d.ts +14 -0
  33. package/dist/_cjs/general-types/generalTypesApi.js +34 -0
  34. package/dist/_cjs/general-types/generalTypesApi.js.map +1 -0
  35. package/dist/_cjs/general-types/generalTypesInterfaces.d.ts +9 -0
  36. package/dist/_cjs/general-types/generalTypesInterfaces.js +3 -0
  37. package/dist/_cjs/general-types/generalTypesInterfaces.js.map +1 -0
  38. package/dist/_cjs/index.d.ts +35 -0
  39. package/dist/_cjs/index.js +55 -0
  40. package/dist/_cjs/index.js.map +1 -0
  41. package/dist/_cjs/locales/localesApi.d.ts +14 -0
  42. package/dist/_cjs/locales/localesApi.js +34 -0
  43. package/dist/_cjs/locales/localesApi.js.map +1 -0
  44. package/dist/_cjs/locales/localesInterfaces.d.ts +15 -0
  45. package/dist/_cjs/locales/localesInterfaces.js +3 -0
  46. package/dist/_cjs/locales/localesInterfaces.js.map +1 -0
  47. package/dist/_cjs/markers/markersApi.d.ts +35 -0
  48. package/dist/_cjs/markers/markersApi.js +65 -0
  49. package/dist/_cjs/markers/markersApi.js.map +1 -0
  50. package/dist/_cjs/markers/markersInterfaces.d.ts +16 -0
  51. package/dist/_cjs/markers/markersInterfaces.js +3 -0
  52. package/dist/_cjs/markers/markersInterfaces.js.map +1 -0
  53. package/dist/_cjs/menus/menusApi.d.ts +16 -0
  54. package/dist/_cjs/menus/menusApi.js +36 -0
  55. package/dist/_cjs/menus/menusApi.js.map +1 -0
  56. package/dist/_cjs/menus/menusInterfaces.d.ts +18 -0
  57. package/dist/_cjs/menus/menusInterfaces.js +3 -0
  58. package/dist/_cjs/menus/menusInterfaces.js.map +1 -0
  59. package/dist/_cjs/modules/modulesApi.d.ts +14 -0
  60. package/dist/_cjs/modules/modulesApi.js +34 -0
  61. package/dist/_cjs/modules/modulesApi.js.map +1 -0
  62. package/dist/_cjs/modules/modulesInterfaces.d.ts +19 -0
  63. package/dist/_cjs/modules/modulesInterfaces.js +3 -0
  64. package/dist/_cjs/modules/modulesInterfaces.js.map +1 -0
  65. package/dist/_cjs/pages/pagesApi.d.ts +74 -0
  66. package/dist/_cjs/pages/pagesApi.js +137 -0
  67. package/dist/_cjs/pages/pagesApi.js.map +1 -0
  68. package/dist/_cjs/pages/pagesInterfaces.d.ts +39 -0
  69. package/dist/_cjs/pages/pagesInterfaces.js +3 -0
  70. package/dist/_cjs/pages/pagesInterfaces.js.map +1 -0
  71. package/dist/_cjs/product-statuses/productStatusesApi.d.ts +38 -0
  72. package/dist/_cjs/product-statuses/productStatusesApi.js +73 -0
  73. package/dist/_cjs/product-statuses/productStatusesApi.js.map +1 -0
  74. package/dist/_cjs/product-statuses/productStatusesInterfaces.d.ts +15 -0
  75. package/dist/_cjs/product-statuses/productStatusesInterfaces.js +3 -0
  76. package/dist/_cjs/product-statuses/productStatusesInterfaces.js.map +1 -0
  77. package/dist/_cjs/products/productsApi.d.ts +195 -0
  78. package/dist/_cjs/products/productsApi.js +295 -0
  79. package/dist/_cjs/products/productsApi.js.map +1 -0
  80. package/dist/_cjs/products/productsInterfaces.d.ts +83 -0
  81. package/dist/_cjs/products/productsInterfaces.js +3 -0
  82. package/dist/_cjs/products/productsInterfaces.js.map +1 -0
  83. package/dist/_cjs/templates/templatesApi.d.ts +32 -0
  84. package/dist/_cjs/templates/templatesApi.js +72 -0
  85. package/dist/_cjs/templates/templatesApi.js.map +1 -0
  86. package/dist/_cjs/templates/templatesInterfaces.d.ts +30 -0
  87. package/dist/_cjs/templates/templatesInterfaces.js +3 -0
  88. package/dist/_cjs/templates/templatesInterfaces.js.map +1 -0
  89. package/dist/_cjs/templates-preview/templatesPreviewApi.d.ts +30 -0
  90. package/dist/_cjs/templates-preview/templatesPreviewApi.js +60 -0
  91. package/dist/_cjs/templates-preview/templatesPreviewApi.js.map +1 -0
  92. package/dist/_cjs/templates-preview/templatesPreviewInterfaces.d.ts +27 -0
  93. package/dist/_cjs/templates-preview/templatesPreviewInterfaces.js +3 -0
  94. package/dist/_cjs/templates-preview/templatesPreviewInterfaces.js.map +1 -0
  95. package/dist/_esm/admins/adminsApi.d.ts +14 -0
  96. package/dist/_esm/admins/adminsApi.js +31 -0
  97. package/dist/_esm/admins/adminsApi.js.map +1 -0
  98. package/dist/_esm/admins/adminsInterfaces.d.ts +32 -0
  99. package/dist/_esm/admins/adminsInterfaces.js +2 -0
  100. package/dist/_esm/admins/adminsInterfaces.js.map +1 -0
  101. package/dist/_esm/attribute-set/attributeSetApi.d.ts +24 -0
  102. package/dist/_esm/attribute-set/attributeSetApi.js +46 -0
  103. package/dist/_esm/attribute-set/attributeSetApi.js.map +1 -0
  104. package/dist/_esm/attribute-set/attributeSetInterfaces.d.ts +23 -0
  105. package/dist/_esm/attribute-set/attributeSetInterfaces.js +2 -0
  106. package/dist/_esm/attribute-set/attributeSetInterfaces.js.map +1 -0
  107. package/dist/_esm/base/oneEntry.d.ts +9 -0
  108. package/dist/_esm/base/oneEntry.js +52 -0
  109. package/dist/_esm/base/oneEntry.js.map +1 -0
  110. package/dist/_esm/base/utils.d.ts +32 -0
  111. package/dist/_esm/base/utils.js +30 -0
  112. package/dist/_esm/base/utils.js.map +1 -0
  113. package/dist/_esm/forms/formsApi.d.ts +26 -0
  114. package/dist/_esm/forms/formsApi.js +53 -0
  115. package/dist/_esm/forms/formsApi.js.map +1 -0
  116. package/dist/_esm/forms/formsInterfaces.d.ts +28 -0
  117. package/dist/_esm/forms/formsInterfaces.js +2 -0
  118. package/dist/_esm/forms/formsInterfaces.js.map +1 -0
  119. package/dist/_esm/formsData/formsDataApi.d.ts +41 -0
  120. package/dist/_esm/formsData/formsDataApi.js +68 -0
  121. package/dist/_esm/formsData/formsDataApi.js.map +1 -0
  122. package/dist/_esm/formsData/formsDataInterfaces.d.ts +25 -0
  123. package/dist/_esm/formsData/formsDataInterfaces.js +2 -0
  124. package/dist/_esm/formsData/formsDataInterfaces.js.map +1 -0
  125. package/dist/_esm/general-types/generalTypesApi.d.ts +14 -0
  126. package/dist/_esm/general-types/generalTypesApi.js +31 -0
  127. package/dist/_esm/general-types/generalTypesApi.js.map +1 -0
  128. package/dist/_esm/general-types/generalTypesInterfaces.d.ts +9 -0
  129. package/dist/_esm/general-types/generalTypesInterfaces.js +2 -0
  130. package/dist/_esm/general-types/generalTypesInterfaces.js.map +1 -0
  131. package/dist/_esm/index.d.ts +35 -0
  132. package/dist/_esm/index.js +51 -0
  133. package/dist/_esm/index.js.map +1 -0
  134. package/dist/_esm/locales/localesApi.d.ts +14 -0
  135. package/dist/_esm/locales/localesApi.js +31 -0
  136. package/dist/_esm/locales/localesApi.js.map +1 -0
  137. package/dist/_esm/locales/localesInterfaces.d.ts +15 -0
  138. package/dist/_esm/locales/localesInterfaces.js +2 -0
  139. package/dist/_esm/locales/localesInterfaces.js.map +1 -0
  140. package/dist/_esm/markers/markersApi.d.ts +35 -0
  141. package/dist/_esm/markers/markersApi.js +62 -0
  142. package/dist/_esm/markers/markersApi.js.map +1 -0
  143. package/dist/_esm/markers/markersInterfaces.d.ts +16 -0
  144. package/dist/_esm/markers/markersInterfaces.js +2 -0
  145. package/dist/_esm/markers/markersInterfaces.js.map +1 -0
  146. package/dist/_esm/menus/menusApi.d.ts +16 -0
  147. package/dist/_esm/menus/menusApi.js +33 -0
  148. package/dist/_esm/menus/menusApi.js.map +1 -0
  149. package/dist/_esm/menus/menusInterfaces.d.ts +18 -0
  150. package/dist/_esm/menus/menusInterfaces.js +2 -0
  151. package/dist/_esm/menus/menusInterfaces.js.map +1 -0
  152. package/dist/_esm/modules/modulesApi.d.ts +14 -0
  153. package/dist/_esm/modules/modulesApi.js +31 -0
  154. package/dist/_esm/modules/modulesApi.js.map +1 -0
  155. package/dist/_esm/modules/modulesInterfaces.d.ts +19 -0
  156. package/dist/_esm/modules/modulesInterfaces.js +2 -0
  157. package/dist/_esm/modules/modulesInterfaces.js.map +1 -0
  158. package/dist/_esm/pages/pagesApi.d.ts +74 -0
  159. package/dist/_esm/pages/pagesApi.js +134 -0
  160. package/dist/_esm/pages/pagesApi.js.map +1 -0
  161. package/dist/_esm/pages/pagesInterfaces.d.ts +39 -0
  162. package/dist/_esm/pages/pagesInterfaces.js +2 -0
  163. package/dist/_esm/pages/pagesInterfaces.js.map +1 -0
  164. package/dist/_esm/product-statuses/productStatusesApi.d.ts +38 -0
  165. package/dist/_esm/product-statuses/productStatusesApi.js +70 -0
  166. package/dist/_esm/product-statuses/productStatusesApi.js.map +1 -0
  167. package/dist/_esm/product-statuses/productStatusesInterfaces.d.ts +15 -0
  168. package/dist/_esm/product-statuses/productStatusesInterfaces.js +2 -0
  169. package/dist/_esm/product-statuses/productStatusesInterfaces.js.map +1 -0
  170. package/dist/_esm/products/productsApi.d.ts +195 -0
  171. package/dist/_esm/products/productsApi.js +292 -0
  172. package/dist/_esm/products/productsApi.js.map +1 -0
  173. package/dist/_esm/products/productsInterfaces.d.ts +83 -0
  174. package/dist/_esm/products/productsInterfaces.js +2 -0
  175. package/dist/_esm/products/productsInterfaces.js.map +1 -0
  176. package/dist/_esm/templates/templatesApi.d.ts +32 -0
  177. package/dist/_esm/templates/templatesApi.js +69 -0
  178. package/dist/_esm/templates/templatesApi.js.map +1 -0
  179. package/dist/_esm/templates/templatesInterfaces.d.ts +30 -0
  180. package/dist/_esm/templates/templatesInterfaces.js +2 -0
  181. package/dist/_esm/templates/templatesInterfaces.js.map +1 -0
  182. package/dist/_esm/templates-preview/templatesPreviewApi.d.ts +30 -0
  183. package/dist/_esm/templates-preview/templatesPreviewApi.js +57 -0
  184. package/dist/_esm/templates-preview/templatesPreviewApi.js.map +1 -0
  185. package/dist/_esm/templates-preview/templatesPreviewInterfaces.d.ts +27 -0
  186. package/dist/_esm/templates-preview/templatesPreviewInterfaces.js +2 -0
  187. package/dist/_esm/templates-preview/templatesPreviewInterfaces.js.map +1 -0
  188. package/dist/_types/admins/adminsApi.d.ts +14 -0
  189. package/dist/_types/admins/adminsInterfaces.d.ts +32 -0
  190. package/dist/_types/attribute-set/attributeSetApi.d.ts +24 -0
  191. package/dist/_types/attribute-set/attributeSetInterfaces.d.ts +23 -0
  192. package/dist/_types/base/oneEntry.d.ts +9 -0
  193. package/dist/_types/base/utils.d.ts +32 -0
  194. package/dist/_types/forms/formsApi.d.ts +26 -0
  195. package/dist/_types/forms/formsInterfaces.d.ts +28 -0
  196. package/dist/_types/formsData/formsDataApi.d.ts +41 -0
  197. package/dist/_types/formsData/formsDataInterfaces.d.ts +25 -0
  198. package/dist/_types/general-types/generalTypesApi.d.ts +14 -0
  199. package/dist/_types/general-types/generalTypesInterfaces.d.ts +9 -0
  200. package/dist/_types/index.d.ts +35 -0
  201. package/dist/_types/locales/localesApi.d.ts +14 -0
  202. package/dist/_types/locales/localesInterfaces.d.ts +15 -0
  203. package/dist/_types/markers/markersApi.d.ts +35 -0
  204. package/dist/_types/markers/markersInterfaces.d.ts +16 -0
  205. package/dist/_types/menus/menusApi.d.ts +16 -0
  206. package/dist/_types/menus/menusInterfaces.d.ts +18 -0
  207. package/dist/_types/modules/modulesApi.d.ts +14 -0
  208. package/dist/_types/modules/modulesInterfaces.d.ts +19 -0
  209. package/dist/_types/pages/pagesApi.d.ts +74 -0
  210. package/dist/_types/pages/pagesInterfaces.d.ts +39 -0
  211. package/dist/_types/product-statuses/productStatusesApi.d.ts +38 -0
  212. package/dist/_types/product-statuses/productStatusesInterfaces.d.ts +15 -0
  213. package/dist/_types/products/productsApi.d.ts +195 -0
  214. package/dist/_types/products/productsInterfaces.d.ts +83 -0
  215. package/dist/_types/templates/templatesApi.d.ts +32 -0
  216. package/dist/_types/templates/templatesInterfaces.d.ts +30 -0
  217. package/dist/_types/templates-preview/templatesPreviewApi.d.ts +30 -0
  218. package/dist/_types/templates-preview/templatesPreviewInterfaces.d.ts +27 -0
  219. package/dist/index.d.ts +0 -4
  220. package/dist/index.js +0 -8
  221. package/dist/index.js.map +1 -1
  222. package/dist/products/productsApi.d.ts +6 -4
  223. package/dist/products/productsApi.js +34 -7
  224. package/dist/products/productsApi.js.map +1 -1
  225. package/dist/products/productsInterfaces.d.ts +14 -3
  226. package/package.json +3 -2
@@ -0,0 +1,195 @@
1
+ import { IProductsQuery, IFilterParams, IProductApi, IProductsEntity } from './productsInterfaces';
2
+ import OneEntry from '../base/oneEntry';
3
+ /**
4
+ * Controllers for working with product pages
5
+ */
6
+ export default class ProductApi extends OneEntry implements IProductApi {
7
+ constructor(url: string);
8
+ private _defaultQuery;
9
+ /**
10
+ * Search for all product page objects with pagination and filtering.
11
+ *
12
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
13
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
14
+ *
15
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
16
+ *
17
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
18
+ *
19
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
20
+ *
21
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
22
+ *
23
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
24
+ *
25
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
26
+ *
27
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
28
+ *
29
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
30
+ *
31
+ * @returns {Promise<IProduct[]>} - List of products.
32
+ */
33
+ getProducts(userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
34
+ /**
35
+ * Search for all product page objects with pagination that do not have a category.
36
+ *
37
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
38
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
39
+ *
40
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
41
+ *
42
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
43
+ *
44
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
45
+ *
46
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
47
+ *
48
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
49
+ *
50
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
51
+ *
52
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
53
+ *
54
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
55
+ *
56
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
57
+ */
58
+ getProductsEmptyPage(userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
59
+ /**
60
+ * Search for all product page objects with pagination for the selected category.
61
+ *
62
+ * @param {number} [id] - Page identifier.
63
+ *
64
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
65
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
66
+ *
67
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
68
+ *
69
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
70
+ *
71
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
72
+ *
73
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
74
+ *
75
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
76
+ *
77
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
78
+ *
79
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
80
+ *
81
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
82
+ *
83
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
84
+ */
85
+ getProductsPageById(id: number, userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
86
+ /**
87
+ * Search for all product page objects with pagination for the selected category (by its URL).
88
+ *
89
+ * @param {string} [url] - URL of the category page.
90
+ *
91
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
92
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
93
+ *
94
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
95
+ *
96
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
97
+ *
98
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
99
+ *
100
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
101
+ *
102
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
103
+ *
104
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
105
+ *
106
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
107
+ *
108
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
109
+ *
110
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
111
+ */
112
+ getProductsPageByUrl(url: string, userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
113
+ /**
114
+ * Find all related product page objects.
115
+ *
116
+ * @param {number} [id] - Product page identifier for which to find relationship.
117
+ *
118
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
119
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
120
+ *
121
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
122
+ *
123
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
124
+ *
125
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
126
+ *
127
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
128
+ *
129
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
130
+ */
131
+ getRelatedProductsById(id: number, userQuery?: IProductsQuery): Promise<IProductsEntity>;
132
+ /**
133
+ * Retrieve one product object.
134
+ *
135
+ * @param {number} [id] - Product id.
136
+ *
137
+ * @param {string | Array<string>} [langCode] Language code parameter. Default "en_US". Нou can also pass several language parameters ['en_US', 'it_IT']
138
+ *
139
+ * @returns {Promise<IProductsEntity>} - Returns ContentIndexedProductDto object for the product.
140
+ */
141
+ getProductById(id: number, langCode?: string | Array<string>): Promise<IProductsEntity>;
142
+ /**
143
+ * Find all product page objects with pagination and multiple filtering.
144
+ *
145
+ * @param {array} [data] - Request body.
146
+ *
147
+ * @example
148
+ * const objects = [
149
+ * {
150
+ * attributeMarker: "price",
151
+ * conditionMarker: "mth",
152
+ * conditionValue: 1,
153
+ * pageId: 0,
154
+ * },
155
+ * {
156
+ * attributeMarker: "price",
157
+ * conditionMarker: "lth",
158
+ * conditionValue: 3,
159
+ * pageId: 0,
160
+ * },
161
+ * ];
162
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
163
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
164
+ *
165
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
166
+ *
167
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
168
+ *
169
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
170
+ *
171
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
172
+ *
173
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
174
+ */
175
+ filterProduct(data: Array<IFilterParams>, userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
176
+ /**
177
+ * Quick search for product page objects with limited output.
178
+ *
179
+ * @param {string} [name] - Text to search product page objects (search is based on the title field of the localizeInfos object with language consideration)
180
+ *
181
+ * @param {string} [langCode] - Language code
182
+ *
183
+ * @returns {Promise<IProduct[]>} - Returns array of ContentIndexedProductDto object for the product.
184
+ */
185
+ searchProduct(name: string, langCode?: string): Promise<Array<IProductsEntity>>;
186
+ /**
187
+ * Get all attributes of one Product.
188
+ *
189
+ * @param {number} [id] - Product id.
190
+ *
191
+ * @returns {Promise<IProduct[]>} - Returns array of set attributes.
192
+ */
193
+ getAttributesByProductId(id: number): Promise<any>;
194
+ private _normalizeProductData;
195
+ }
@@ -0,0 +1,292 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import OneEntry from '../base/oneEntry';
11
+ /**
12
+ * Controllers for working with product pages
13
+ */
14
+ export default class ProductApi extends OneEntry {
15
+ constructor(url) {
16
+ super(url);
17
+ this._defaultQuery = {
18
+ offset: 0,
19
+ limit: 30,
20
+ statusMarker: null,
21
+ conditionValue: null,
22
+ conditionMarker: null,
23
+ attributeMarker: null,
24
+ langCode: 'en_US',
25
+ sortOrder: 'DESC',
26
+ sortKey: 'id'
27
+ };
28
+ this._url += '/api/content/products';
29
+ }
30
+ /**
31
+ * Search for all product page objects with pagination and filtering.
32
+ *
33
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
34
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
35
+ *
36
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
37
+ *
38
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
39
+ *
40
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
41
+ *
42
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
43
+ *
44
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
45
+ *
46
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
47
+ *
48
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
49
+ *
50
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
51
+ *
52
+ * @returns {Promise<IProduct[]>} - List of products.
53
+ */
54
+ getProducts(userQuery) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const query = Object.assign(Object.assign({}, this._defaultQuery), userQuery);
57
+ const result = yield this._fetchGet('?' + this._queryParamsToString(query));
58
+ return result.items;
59
+ });
60
+ }
61
+ /**
62
+ * Search for all product page objects with pagination that do not have a category.
63
+ *
64
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
65
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
66
+ *
67
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
68
+ *
69
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
70
+ *
71
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
72
+ *
73
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
74
+ *
75
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
76
+ *
77
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
78
+ *
79
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
80
+ *
81
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
82
+ *
83
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
84
+ */
85
+ getProductsEmptyPage(userQuery) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const query = Object.assign(Object.assign({}, this._defaultQuery), userQuery);
88
+ const result = yield this._fetchGet('/empty-page?' + this._queryParamsToString(query));
89
+ return result;
90
+ });
91
+ }
92
+ /**
93
+ * Search for all product page objects with pagination for the selected category.
94
+ *
95
+ * @param {number} [id] - Page identifier.
96
+ *
97
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
98
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
99
+ *
100
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
101
+ *
102
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
103
+ *
104
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
105
+ *
106
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
107
+ *
108
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
109
+ *
110
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
111
+ *
112
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
113
+ *
114
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
115
+ *
116
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
117
+ */
118
+ getProductsPageById(id, userQuery) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const query = Object.assign(Object.assign({}, this._defaultQuery), userQuery);
121
+ const result = yield this._fetchGet(`/page/${id}?` + this._queryParamsToString(query));
122
+ return result.items;
123
+ });
124
+ }
125
+ /**
126
+ * Search for all product page objects with pagination for the selected category (by its URL).
127
+ *
128
+ * @param {string} [url] - URL of the category page.
129
+ *
130
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
131
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
132
+ *
133
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
134
+ *
135
+ * @param {string} [userQuery.statusMarker] - Optional identifier of the product page status
136
+ *
137
+ * @param {string} [userQuery.conditionValue] - Optional value that is being searched
138
+ *
139
+ * @param {string} [userQuery.conditionMarker] - Optional identifier of the filter condition by which values are filtered
140
+ *
141
+ * @param {string} [userQuery.attributeMarker] - Optional text identifier of the indexed attribute by which values are filtered
142
+ *
143
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
144
+ *
145
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
146
+ *
147
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
148
+ *
149
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
150
+ */
151
+ getProductsPageByUrl(url, userQuery) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ const query = Object.assign(Object.assign({}, this._defaultQuery), userQuery);
154
+ const result = yield this._fetchGet(`/page/url/${url}?` + this._queryParamsToString(query));
155
+ return result.items;
156
+ });
157
+ }
158
+ /**
159
+ * Find all related product page objects.
160
+ *
161
+ * @param {number} [id] - Product page identifier for which to find relationship.
162
+ *
163
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
164
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
165
+ *
166
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
167
+ *
168
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
169
+ *
170
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
171
+ *
172
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
173
+ *
174
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
175
+ */
176
+ getRelatedProductsById(id, userQuery) {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ const query = Object.assign(Object.assign({}, this._defaultQuery), userQuery);
179
+ const result = yield this._fetchGet(`/${id}/related?` + this._queryParamsToString(query));
180
+ return result.items;
181
+ });
182
+ }
183
+ /**
184
+ * Retrieve one product object.
185
+ *
186
+ * @param {number} [id] - Product id.
187
+ *
188
+ * @param {string | Array<string>} [langCode] Language code parameter. Default "en_US". Нou can also pass several language parameters ['en_US', 'it_IT']
189
+ *
190
+ * @returns {Promise<IProductsEntity>} - Returns ContentIndexedProductDto object for the product.
191
+ */
192
+ getProductById(id, langCode = 'en_US') {
193
+ return __awaiter(this, void 0, void 0, function* () {
194
+ const response = yield this._fetchGet(`/${id}?langCode=${langCode}`);
195
+ const product = yield this._normalizeProductData(response, langCode);
196
+ return product;
197
+ });
198
+ }
199
+ /**
200
+ * Find all product page objects with pagination and multiple filtering.
201
+ *
202
+ * @param {array} [data] - Request body.
203
+ *
204
+ * @example
205
+ * const objects = [
206
+ * {
207
+ * attributeMarker: "price",
208
+ * conditionMarker: "mth",
209
+ * conditionValue: 1,
210
+ * pageId: 0,
211
+ * },
212
+ * {
213
+ * attributeMarker: "price",
214
+ * conditionMarker: "lth",
215
+ * conditionValue: 3,
216
+ * pageId: 0,
217
+ * },
218
+ * ];
219
+ * @param {IProductsQuery} [userQuery] - Optional set query parameters.
220
+ * @param {number} [userQuery.limit] - Optional parameter for pagination, default is 0
221
+ *
222
+ * @param {number} [userQuery.offset] - Optional parameter for pagination, default is 30
223
+ *
224
+ * @param {string} [userQuery.langCode] Language code parameter. Default "en_US"
225
+ *
226
+ * @param {string} [userQuery.sortOrder] - Optional sorting order DESC | ASC
227
+ *
228
+ * @param {string} [userQuery.sortKey] - Optional field to sort by
229
+ *
230
+ * @returns {Promise<IProduct[]>} - Returns array of items, where item - ContentIndexedProductDto objects.
231
+ */
232
+ filterProduct(data, userQuery) {
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ const query = Object.assign(Object.assign({}, this._defaultQuery), userQuery);
235
+ const result = yield this._fetchPost(`/conditions-filter?` + this._queryParamsToString(query), data);
236
+ return result.items;
237
+ });
238
+ }
239
+ /**
240
+ * Quick search for product page objects with limited output.
241
+ *
242
+ * @param {string} [name] - Text to search product page objects (search is based on the title field of the localizeInfos object with language consideration)
243
+ *
244
+ * @param {string} [langCode] - Language code
245
+ *
246
+ * @returns {Promise<IProduct[]>} - Returns array of ContentIndexedProductDto object for the product.
247
+ */
248
+ searchProduct(name, langCode = 'en_US') {
249
+ return __awaiter(this, void 0, void 0, function* () {
250
+ const searchProducts = yield this._fetchGet(`/quick/search?lang=${langCode}&name=${name}`);
251
+ const productsList = [];
252
+ yield Promise.all(searchProducts.map((product) => __awaiter(this, void 0, void 0, function* () {
253
+ yield this.getProductById(product.id).then((result) => {
254
+ productsList.push(result);
255
+ });
256
+ })));
257
+ return productsList;
258
+ });
259
+ }
260
+ /**
261
+ * Get all attributes of one Product.
262
+ *
263
+ * @param {number} [id] - Product id.
264
+ *
265
+ * @returns {Promise<IProduct[]>} - Returns array of set attributes.
266
+ */
267
+ getAttributesByProductId(id) {
268
+ return __awaiter(this, void 0, void 0, function* () {
269
+ const product = yield this.getProductById(id);
270
+ return product.attributeValues;
271
+ });
272
+ }
273
+ _normalizeProductData(product, langSet) {
274
+ return __awaiter(this, void 0, void 0, function* () {
275
+ const normalizeProduct = Object.assign({}, product);
276
+ if (!Array.isArray(langSet)) {
277
+ normalizeProduct.attributeValues = product.attributeValues[langSet];
278
+ }
279
+ else {
280
+ const attrs = [];
281
+ yield Promise.all(langSet.map((lang) => __awaiter(this, void 0, void 0, function* () {
282
+ yield this.getProductById(product.id, lang).then((result) => {
283
+ attrs.push(result.attributeValues);
284
+ });
285
+ })));
286
+ Object.assign(normalizeProduct.attributeValues, ...attrs);
287
+ }
288
+ return normalizeProduct;
289
+ });
290
+ }
291
+ }
292
+ //# sourceMappingURL=productsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productsApi.js","sourceRoot":"","sources":["../../../src/products/productsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { ILocalizeInfos } from "../base/utils";
2
+ interface IProductApi {
3
+ getProducts(userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
4
+ getProductsEmptyPage(userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
5
+ getProductsPageById(id: number, userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
6
+ getProductsPageByUrl(url: string, userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
7
+ getRelatedProductsById(id: number, userQuery?: IProductsQuery): Promise<IProductsEntity>;
8
+ getProductById(id: number, langCode: string): Promise<IProductsEntity>;
9
+ filterProduct(data: Array<IFilterParams>, userQuery?: IProductsQuery): Promise<Array<IProductsEntity>>;
10
+ searchProduct(name: string, langCode: string): Promise<Array<IProductsEntity>>;
11
+ getAttributesByProductId(id: number): Promise<any>;
12
+ }
13
+ interface IProduct {
14
+ attributeSetId: number | null;
15
+ attributeValues: object | null;
16
+ id: number;
17
+ isSync: number;
18
+ isVisible: boolean;
19
+ localizeInfos: object;
20
+ position: number;
21
+ price?: number;
22
+ relatedIds: number[];
23
+ shortDescTemplateIdentifier: string | number | null;
24
+ statusId: number | null;
25
+ templateIdentifier: string | number | null;
26
+ }
27
+ interface IProductsQuery {
28
+ offset?: number;
29
+ limit?: number;
30
+ statusMarker?: string | null;
31
+ conditionValue?: string | null;
32
+ /**
33
+ * 'in' - Contains,
34
+ * 'nin' - Does not contain,
35
+ * 'eq' - Equal,
36
+ * 'neq' - Not equal,
37
+ * 'mth' - Greater than,
38
+ * 'lth' - Less than,
39
+ * 'exs' - Exists,
40
+ * 'nexs' - Does not exist
41
+ */
42
+ conditionMarker?: 'in' | 'nin' | 'eq' | 'neq' | 'mth' | 'lth' | 'exs' | 'nexs' | null;
43
+ attributeMarker?: string | null;
44
+ sortOrder?: 'DESC' | 'ASC';
45
+ langCode?: string;
46
+ sortKey?: string;
47
+ [key: string]: string | number | null;
48
+ }
49
+ interface IFilterParams {
50
+ attributeMarker: string;
51
+ conditionMarker: string;
52
+ conditionValue: number;
53
+ pageId?: number;
54
+ }
55
+ interface IProductsEntity {
56
+ id: number;
57
+ localizeInfos: ILocalizeInfos;
58
+ isVisible: boolean;
59
+ statusId: number;
60
+ relatedIds: number[];
61
+ productPages: {
62
+ id: number;
63
+ pageId: number;
64
+ productId: number;
65
+ }[];
66
+ attributeSetId: number;
67
+ version: number;
68
+ isSync: number | boolean;
69
+ price: number;
70
+ templateIdentifier: string;
71
+ shortDescTemplateIdentifier: string;
72
+ /**
73
+ * Language-specific attribute values.
74
+ * @example attributeValues['en_US']
75
+ *
76
+ * @property {langCode.<object>}
77
+ */
78
+ attributeValues: {
79
+ [langCode: string]: object;
80
+ };
81
+ position: number;
82
+ }
83
+ export { IFilterParams, IProductsQuery, IProduct, IProductApi, IProductsEntity };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=productsInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productsInterfaces.js","sourceRoot":"","sources":["../../../src/products/productsInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import OneEntry from '../base/oneEntry';
2
+ import { ITemplatesApi, ITemplateEntity } from './templatesInterfaces';
3
+ /**
4
+ * Controllers for working with template objects
5
+ */
6
+ export default class TemplatesPreviewApi extends OneEntry implements ITemplatesApi {
7
+ constructor(url: string);
8
+ /**
9
+ * Get all template objects grouped by types.
10
+ *
11
+ * @param {number} [id] - Status id
12
+ *
13
+ * @returns Returns an object GroupedTemplatesObject, which contains an array of template objects TemplateEntity
14
+ */
15
+ getAllTemplates(): Promise<Array<ITemplateEntity>>;
16
+ /**
17
+ * Get one template object by id.
18
+ *
19
+ * @param {number} [id] - Product marker
20
+ *
21
+ * @returns Returns a TemplateEntity object
22
+ */
23
+ getTemplateById(id: number): Promise<ITemplateEntity>;
24
+ /**
25
+ * Get a single template object by marker.
26
+ *
27
+ * @param {string} [marker] - Product marker
28
+ *
29
+ * @returns Returns a TemplateEntity object
30
+ */
31
+ getTemplateByMarker(marker: string): Promise<ITemplateEntity>;
32
+ }