@sitecore/sc-contenthub-webclient-sdk 1.1.1 → 1.2.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.
Files changed (411) hide show
  1. package/README.md +35 -7
  2. package/dist/api/api-info-resource.js +9 -8
  3. package/dist/api/api-info.js +1 -0
  4. package/dist/api/api-resource.js +2 -1
  5. package/dist/api/api-routes-dictionary.js +1 -0
  6. package/dist/authentication/oauth-grant-base.js +5 -4
  7. package/dist/authentication/oauth-grant-type.js +1 -0
  8. package/dist/authentication/oauth-password-grant.js +5 -4
  9. package/dist/authentication/oauth-refreshtoken-grant.js +4 -3
  10. package/dist/authentication/token-info.js +6 -5
  11. package/dist/base-types.js +1 -0
  12. package/dist/caches/culture-cache.js +1 -0
  13. package/dist/caches/entity-definition-cache.d.ts +21 -7
  14. package/dist/caches/entity-definition-cache.js +38 -21
  15. package/dist/clients/aggregates-client.d.ts +27 -3
  16. package/dist/clients/aggregates-client.js +4 -3
  17. package/dist/clients/api-client.js +3 -2
  18. package/dist/clients/assets-client.d.ts +16 -0
  19. package/dist/clients/assets-client.js +43 -0
  20. package/dist/clients/commands-client.d.ts +7 -4
  21. package/dist/clients/commands-client.js +5 -4
  22. package/dist/clients/content-hub-client.d.ts +3 -0
  23. package/dist/clients/content-hub-client.js +3 -0
  24. package/dist/clients/culture-client.js +1 -0
  25. package/dist/clients/culture-loader.js +1 -0
  26. package/dist/clients/entities-client.d.ts +44 -29
  27. package/dist/clients/entities-client.js +44 -30
  28. package/dist/clients/entity-definitions-client.d.ts +55 -17
  29. package/dist/clients/entity-definitions-client.js +58 -57
  30. package/dist/clients/extended-client.js +1 -0
  31. package/dist/clients/internal-client.d.ts +17 -2
  32. package/dist/clients/internal-client.js +17 -3
  33. package/dist/clients/notifications-client.js +1 -0
  34. package/dist/clients/option-list-client.d.ts +19 -12
  35. package/dist/clients/option-list-client.js +13 -12
  36. package/dist/clients/pages-client.d.ts +13 -6
  37. package/dist/clients/pages-client.js +9 -8
  38. package/dist/clients/permissions-client.js +1 -0
  39. package/dist/clients/policies-client.js +3 -21
  40. package/dist/clients/querying-client.d.ts +58 -11
  41. package/dist/clients/querying-client.js +43 -8
  42. package/dist/clients/raw-client.d.ts +11 -18
  43. package/dist/clients/raw-client.js +11 -10
  44. package/dist/clients/request-message.js +1 -0
  45. package/dist/clients/response-handler.js +8 -26
  46. package/dist/clients/response-message.js +1 -0
  47. package/dist/clients/schema-querying.d.ts +4 -3
  48. package/dist/clients/schema-querying.js +6 -4
  49. package/dist/clients/search-client.d.ts +7 -4
  50. package/dist/clients/search-client.js +5 -4
  51. package/dist/clients/settings-client.d.ts +8 -0
  52. package/dist/clients/settings-client.js +13 -0
  53. package/dist/clients/upload-client.d.ts +5 -2
  54. package/dist/clients/upload-client.js +36 -17
  55. package/dist/clients/users-client.js +1 -0
  56. package/dist/clients/version-checker.js +2 -1
  57. package/dist/clients/web-content-hub-client.js +1 -0
  58. package/dist/constants/api.d.ts +26 -3
  59. package/dist/constants/api.js +28 -4
  60. package/dist/constants/defaults.js +2 -1
  61. package/dist/constants/definitions.d.ts +10 -0
  62. package/dist/constants/definitions.js +14 -1
  63. package/dist/constants/index.js +2 -1
  64. package/dist/constants/notifications.js +1 -0
  65. package/dist/contracts/base/culture-insensitive-property.js +1 -0
  66. package/dist/contracts/base/culture-sensitive-property.js +1 -0
  67. package/dist/contracts/base/data-type.js +1 -0
  68. package/dist/contracts/base/entity-base.d.ts +7 -0
  69. package/dist/contracts/base/entity-base.js +57 -32
  70. package/dist/contracts/base/entity-construction-args.js +1 -0
  71. package/dist/contracts/base/entity-definition.d.ts +5 -0
  72. package/dist/contracts/base/entity-definition.js +20 -18
  73. package/dist/contracts/base/entity.d.ts +30 -1
  74. package/dist/contracts/base/entity.js +4 -3
  75. package/dist/contracts/base/index.js +2 -1
  76. package/dist/contracts/base/json-content-type.js +1 -0
  77. package/dist/contracts/base/lazy-loading-manager.js +1 -0
  78. package/dist/contracts/base/member-condition.js +11 -10
  79. package/dist/contracts/base/member-definition-type.js +1 -0
  80. package/dist/contracts/base/member-definition.js +14 -13
  81. package/dist/contracts/base/member-group.js +12 -11
  82. package/dist/contracts/base/member.js +1 -0
  83. package/dist/contracts/base/option-lists/flat-option-list-value.js +1 -0
  84. package/dist/contracts/base/option-lists/flat-option-list.js +1 -0
  85. package/dist/contracts/base/option-lists/hierarchical-option-list.js +1 -0
  86. package/dist/contracts/base/option-lists/hierarchical-options-list-value.js +1 -0
  87. package/dist/contracts/base/option-lists/option-list-base.js +1 -0
  88. package/dist/contracts/base/option-lists/option-list-type.js +1 -0
  89. package/dist/contracts/base/option-lists/option-list-value-base.js +1 -0
  90. package/dist/contracts/base/option-lists/option-list-value.js +1 -0
  91. package/dist/contracts/base/option-lists/option-list.js +1 -0
  92. package/dist/contracts/base/property-definition.js +13 -12
  93. package/dist/contracts/base/property-definitions/boolean-property-definition.js +3 -2
  94. package/dist/contracts/base/property-definitions/datetime-property-definition.js +3 -2
  95. package/dist/contracts/base/property-definitions/datetimeoffset-property-definition.js +3 -2
  96. package/dist/contracts/base/property-definitions/decimal-property-definition.js +3 -2
  97. package/dist/contracts/base/property-definitions/index.js +2 -1
  98. package/dist/contracts/base/property-definitions/integer-property-definition.js +3 -2
  99. package/dist/contracts/base/property-definitions/json-property-definition.js +4 -3
  100. package/dist/contracts/base/property-definitions/long-property-definition.js +3 -2
  101. package/dist/contracts/base/property-definitions/string-property-definition.js +5 -4
  102. package/dist/contracts/base/property-manager.js +1 -0
  103. package/dist/contracts/base/property.js +1 -0
  104. package/dist/contracts/base/related-path.d.ts +1 -1
  105. package/dist/contracts/base/related-path.js +1 -0
  106. package/dist/contracts/base/relation-cardinality.js +1 -0
  107. package/dist/contracts/base/relation-container.js +5 -4
  108. package/dist/contracts/base/relation-definition.js +23 -22
  109. package/dist/contracts/base/relation-manager.d.ts +1 -1
  110. package/dist/contracts/base/relation-manager.js +6 -6
  111. package/dist/contracts/base/relation-role.js +1 -0
  112. package/dist/contracts/base/relation.d.ts +16 -3
  113. package/dist/contracts/base/relation.js +28 -3
  114. package/dist/contracts/base/relations/child-to-many-parents-relation.d.ts +4 -1
  115. package/dist/contracts/base/relations/child-to-many-parents-relation.js +33 -2
  116. package/dist/contracts/base/relations/child-to-one-parent-relation.d.ts +3 -1
  117. package/dist/contracts/base/relations/child-to-one-parent-relation.js +27 -2
  118. package/dist/contracts/base/relations/parent-to-many-children-relation.d.ts +4 -1
  119. package/dist/contracts/base/relations/parent-to-many-children-relation.js +33 -2
  120. package/dist/contracts/base/relations/parent-to-one-child-relation.d.ts +3 -1
  121. package/dist/contracts/base/relations/parent-to-one-child-relation.js +27 -2
  122. package/dist/contracts/base/relations/to-many-relation.d.ts +10 -0
  123. package/dist/contracts/base/relations/to-many-relation.js +1 -0
  124. package/dist/contracts/base/relations/to-one-relation.d.ts +5 -0
  125. package/dist/contracts/base/relations/to-one-relation.js +1 -0
  126. package/dist/contracts/base/rendition.js +1 -0
  127. package/dist/contracts/base/resource.js +1 -0
  128. package/dist/contracts/base/string-content-type.js +1 -0
  129. package/dist/contracts/base/typed-entity.js +1 -0
  130. package/dist/contracts/base/users.js +1 -0
  131. package/dist/contracts/base/view-mode.js +1 -0
  132. package/dist/contracts/content/asset.js +1 -0
  133. package/dist/contracts/content/final-life-cycle-status.js +1 -0
  134. package/dist/contracts/dirty-tracking/dirty-tracking.js +1 -0
  135. package/dist/contracts/notifications/mail-template.js +1 -0
  136. package/dist/contracts/policies/condition.js +1 -0
  137. package/dist/contracts/policies/member-policy.js +1 -0
  138. package/dist/contracts/policies/policy.js +1 -0
  139. package/dist/contracts/policies/rule-type.js +1 -0
  140. package/dist/contracts/policies/rule.js +1 -0
  141. package/dist/contracts/policies/user-group-policy.js +2 -0
  142. package/dist/contracts/policies/user-policy.js +2 -0
  143. package/dist/contracts/querying/culture-load-option.js +5 -4
  144. package/dist/contracts/querying/entity-definition-id-iterator.js +1 -0
  145. package/dist/contracts/querying/entity-definition-id-query-result.js +1 -0
  146. package/dist/contracts/querying/entity-definition-iterator.js +1 -0
  147. package/dist/contracts/querying/entity-definition-query-result.js +1 -0
  148. package/dist/contracts/querying/entity-iterator.js +1 -0
  149. package/dist/contracts/querying/entity-load-configuration-builder.js +1 -0
  150. package/dist/contracts/querying/entity-load-configuration.js +5 -4
  151. package/dist/contracts/querying/entity-load-option.js +9 -8
  152. package/dist/contracts/querying/entity-query-result.js +1 -0
  153. package/dist/contracts/querying/filters/comparison-operator.js +1 -0
  154. package/dist/contracts/querying/filters/composite-filter-operator.js +1 -0
  155. package/dist/contracts/querying/filters/composite-query-filter.js +7 -6
  156. package/dist/contracts/querying/filters/createdby-query-filter.js +4 -3
  157. package/dist/contracts/querying/filters/createdon-query-filter.js +7 -6
  158. package/dist/contracts/querying/filters/definition-query-filter.js +11 -10
  159. package/dist/contracts/querying/filters/filter-data-type.js +1 -0
  160. package/dist/contracts/querying/filters/filter-type.js +1 -0
  161. package/dist/contracts/querying/filters/id-query-filter.js +8 -7
  162. package/dist/contracts/querying/filters/identifier-query-filter.js +8 -7
  163. package/dist/contracts/querying/filters/index.js +2 -1
  164. package/dist/contracts/querying/filters/modifiedby-query-filter.js +4 -3
  165. package/dist/contracts/querying/filters/modifiedon-query-filter.js +7 -6
  166. package/dist/contracts/querying/filters/modules-query-filter.js +5 -4
  167. package/dist/contracts/querying/filters/not-query-filter.js +5 -4
  168. package/dist/contracts/querying/filters/property-query-filter.js +11 -10
  169. package/dist/contracts/querying/filters/query-filter.js +4 -3
  170. package/dist/contracts/querying/filters/relation-connection-type.js +1 -0
  171. package/dist/contracts/querying/filters/relation-query-filter.js +8 -7
  172. package/dist/contracts/querying/filters/secured-ancestors-query-filter.js +8 -7
  173. package/dist/contracts/querying/filters/user-query-filter.js +11 -10
  174. package/dist/contracts/querying/id-iterator.js +1 -0
  175. package/dist/contracts/querying/id-query-result.js +1 -0
  176. package/dist/contracts/querying/iterator.js +1 -0
  177. package/dist/contracts/querying/load-option.js +1 -0
  178. package/dist/contracts/querying/load-options.js +1 -0
  179. package/dist/contracts/querying/loading-query-iterator.js +1 -0
  180. package/dist/contracts/querying/member-load-option.js +1 -0
  181. package/dist/contracts/querying/minimal-schema.js +7 -6
  182. package/dist/contracts/querying/property-data.js +7 -6
  183. package/dist/contracts/querying/property-load-option.js +5 -4
  184. package/dist/contracts/querying/query-iterator.js +1 -0
  185. package/dist/contracts/querying/query-load-configuration.js +9 -8
  186. package/dist/contracts/querying/query-request.js +3 -2
  187. package/dist/contracts/querying/query-result-paging-manager.js +1 -0
  188. package/dist/contracts/querying/query-result.js +1 -0
  189. package/dist/contracts/querying/query-sort-order.js +1 -0
  190. package/dist/contracts/querying/query.js +8 -7
  191. package/dist/contracts/querying/relation-data.js +6 -5
  192. package/dist/contracts/querying/relation-load-option.js +5 -4
  193. package/dist/contracts/querying/relation-specification.js +5 -4
  194. package/dist/contracts/querying/schema-querying.js +1 -0
  195. package/dist/contracts/querying/scroll-request.js +5 -4
  196. package/dist/contracts/querying/skip-take-iterator-base.js +1 -0
  197. package/dist/contracts/querying/sort-field-type.js +1 -0
  198. package/dist/contracts/querying/sorting.js +6 -5
  199. package/dist/contracts/upload/upload-source.js +1 -0
  200. package/dist/contracts/users/user-group-combine-method.js +1 -0
  201. package/dist/contracts/users/user-group-configuration.js +7 -6
  202. package/dist/contracts/users/user-profile.js +1 -0
  203. package/dist/contracts/users/user.js +1 -0
  204. package/dist/converters/aggregated-entity-relations-converter.js +1 -0
  205. package/dist/converters/all-facet-values-children-converter.js +1 -0
  206. package/dist/converters/api-resource-converter.js +2 -0
  207. package/dist/converters/date-converter.js +1 -0
  208. package/dist/converters/file-version-converter.js +1 -0
  209. package/dist/converters/index.js +2 -1
  210. package/dist/converters/member-condition-converter.js +1 -0
  211. package/dist/converters/member-condition-resource-converter.js +1 -0
  212. package/dist/converters/minimal-schema-relation-cardinality-converter.js +1 -0
  213. package/dist/converters/page-resource-menus-converter.js +1 -0
  214. package/dist/converters/page-resource-zones-converter.js +1 -0
  215. package/dist/converters/relation-map-resource-converter.js +1 -0
  216. package/dist/converters/relation-resource-converter.js +1 -0
  217. package/dist/converters/renditions-converter.js +1 -0
  218. package/dist/converters/string-to-any-map-converter.js +1 -0
  219. package/dist/culture-info.js +1 -0
  220. package/dist/dirty-value-calculator.js +1 -0
  221. package/dist/entity-link.js +7 -6
  222. package/dist/error-messages.d.ts +0 -3
  223. package/dist/error-messages.js +1 -3
  224. package/dist/errors/argument-error.js +1 -0
  225. package/dist/errors/authentication-error.js +1 -0
  226. package/dist/errors/bad-request-error.js +1 -0
  227. package/dist/errors/forbidden-error.js +1 -0
  228. package/dist/errors/internal-error.js +1 -0
  229. package/dist/errors/invalid-operation-error.js +1 -0
  230. package/dist/errors/not-found-error.js +1 -0
  231. package/dist/errors/not-implemented-error.js +1 -0
  232. package/dist/errors/not-loaded-error.js +1 -0
  233. package/dist/errors/not-supported-error.js +1 -0
  234. package/dist/errors/schema-error.js +1 -0
  235. package/dist/errors/validation-error.js +1 -0
  236. package/dist/errors/validation-failure.js +1 -0
  237. package/dist/errors/web-api-error.js +1 -0
  238. package/dist/factories/entity-factory.js +2 -1
  239. package/dist/factories/option-list-factory.js +1 -0
  240. package/dist/factories/property-factory.js +3 -2
  241. package/dist/factories/relation-factory.js +5 -4
  242. package/dist/fileversion.js +1 -0
  243. package/dist/guard.d.ts +10 -10
  244. package/dist/guard.js +3 -0
  245. package/dist/http-method.js +1 -0
  246. package/dist/index.js +2 -1
  247. package/dist/link-helper.d.ts +40 -16
  248. package/dist/link-helper.js +82 -10
  249. package/dist/link.js +5 -4
  250. package/dist/logging/log-level.js +1 -0
  251. package/dist/logging/logger-base.js +1 -0
  252. package/dist/logging/logger.js +1 -0
  253. package/dist/logging/null-logger.js +3 -0
  254. package/dist/mappers/api-resource-mapper.js +1 -0
  255. package/dist/mappers/condition-mapper.js +1 -0
  256. package/dist/mappers/entity-copy-options-mapper.d.ts +6 -0
  257. package/dist/mappers/entity-copy-options-mapper.js +42 -0
  258. package/dist/mappers/entity-definition-mapper.js +7 -2
  259. package/dist/mappers/entity-mapper.js +14 -0
  260. package/dist/mappers/filter-operator-mapper.js +1 -0
  261. package/dist/mappers/final-life-cycle-status-mapper.js +3 -2
  262. package/dist/mappers/load-options-mapper.js +1 -0
  263. package/dist/mappers/mapping-utilities.js +1 -0
  264. package/dist/mappers/member-condition-mapper.js +3 -2
  265. package/dist/mappers/member-definition-mapper.js +4 -3
  266. package/dist/mappers/member-group-mapper.js +1 -0
  267. package/dist/mappers/member-security-mapper.js +1 -0
  268. package/dist/mappers/notification-mapper.js +1 -0
  269. package/dist/mappers/option-list-mapper.js +2 -1
  270. package/dist/mappers/policy-mapper.js +1 -0
  271. package/dist/mappers/property-mapper.js +2 -1
  272. package/dist/mappers/querying-mapper.js +1 -0
  273. package/dist/mappers/related-path-mapper.js +3 -2
  274. package/dist/mappers/relation-cardinality-mapper.js +1 -0
  275. package/dist/mappers/relation-mapper.js +8 -7
  276. package/dist/mappers/relation-role-mapper.js +3 -2
  277. package/dist/mappers/rendition-mapper.js +1 -0
  278. package/dist/mappers/rule-type-mapper.js +1 -0
  279. package/dist/mappers/rules-mapper.js +1 -0
  280. package/dist/mappers/typed-entity-creator.js +1 -0
  281. package/dist/models/aggregate-resources/aggregate-resource.d.ts +2 -1
  282. package/dist/models/aggregate-resources/aggregate-resource.js +12 -7
  283. package/dist/models/aggregate-resources/aggregated-entity-resource.js +5 -4
  284. package/dist/models/content/entity-copy-options-builder.d.ts +112 -0
  285. package/dist/models/content/entity-copy-options-builder.js +91 -0
  286. package/dist/models/content/entity-copy-options.d.ts +60 -0
  287. package/dist/models/content/entity-copy-options.js +14 -0
  288. package/dist/models/content/property-copy-method.d.ts +21 -0
  289. package/dist/models/content/property-copy-method.js +26 -0
  290. package/dist/models/content/property-copy-option.d.ts +34 -0
  291. package/dist/models/content/property-copy-option.js +12 -0
  292. package/dist/models/content/relation-copy-method.d.ts +21 -0
  293. package/dist/models/content/relation-copy-method.js +26 -0
  294. package/dist/models/content/relation-copy-option.d.ts +35 -0
  295. package/dist/models/content/relation-copy-option.js +12 -0
  296. package/dist/models/entity-copy-options-resource.d.ts +28 -0
  297. package/dist/models/entity-copy-options-resource.js +47 -0
  298. package/dist/models/entity-definition-collection-resource.js +4 -3
  299. package/dist/models/entity-definition-resource.d.ts +1 -1
  300. package/dist/models/entity-definition-resource.js +23 -21
  301. package/dist/models/entity-list-resource.js +4 -3
  302. package/dist/models/entity-path.d.ts +4 -0
  303. package/dist/models/entity-path.js +24 -0
  304. package/dist/models/entity-resource.d.ts +8 -0
  305. package/dist/models/entity-resource.js +70 -39
  306. package/dist/models/list-resource.js +10 -9
  307. package/dist/models/member-condition-resource.js +10 -9
  308. package/dist/models/member-definition-resource.js +16 -15
  309. package/dist/models/member-group-resource.js +13 -12
  310. package/dist/models/notifications/distribute-notification-resource.js +7 -6
  311. package/dist/models/notifications/mail-request-broadcast.js +1 -0
  312. package/dist/models/notifications/mail-request-by-id.js +1 -0
  313. package/dist/models/notifications/mail-request-by-username.js +1 -0
  314. package/dist/models/notifications/mail-request.js +1 -0
  315. package/dist/models/notifications/notification-level.js +1 -0
  316. package/dist/models/notifications/realtime-request-broadcast.js +1 -0
  317. package/dist/models/notifications/realtime-request-by-id.js +1 -0
  318. package/dist/models/notifications/realtime-request-by-username.js +1 -0
  319. package/dist/models/notifications/realtime-request.js +1 -0
  320. package/dist/models/notifications/request-by-id.js +1 -0
  321. package/dist/models/notifications/request-by-username.js +1 -0
  322. package/dist/models/notifications/validators/mail-validator.js +1 -0
  323. package/dist/models/notifications/validators/realtime-validator.js +1 -0
  324. package/dist/models/notifications/validators/request-by-id-validator.js +1 -0
  325. package/dist/models/notifications/validators/request-by-username-validator.js +1 -0
  326. package/dist/models/notifications/validators/validator-base.js +1 -0
  327. package/dist/models/option-lists/flat-option-list-value.js +1 -0
  328. package/dist/models/option-lists/hierarchical-options-list-value.js +1 -0
  329. package/dist/models/option-lists/option-list-collection-resource.js +5 -4
  330. package/dist/models/option-lists/option-list-description-resource.js +5 -4
  331. package/dist/models/option-lists/option-list-resource.js +12 -11
  332. package/dist/models/option-lists/option-list-value-resource.js +6 -5
  333. package/dist/models/pages/component-visualization.js +9 -8
  334. package/dist/models/pages/language-resource.js +7 -6
  335. package/dist/models/pages/menu-item.js +12 -11
  336. package/dist/models/pages/page-component-resource.js +18 -17
  337. package/dist/models/pages/page-resource.js +21 -20
  338. package/dist/models/pages/page-row-settings.js +26 -25
  339. package/dist/models/pages/portal-column-resource.js +5 -4
  340. package/dist/models/pages/portal-row-resource.js +5 -4
  341. package/dist/models/pages/portal-section-resource.js +5 -4
  342. package/dist/models/permissions-resource.js +4 -3
  343. package/dist/models/policies/condition-resource.js +6 -5
  344. package/dist/models/policies/member-policy-resource.js +6 -5
  345. package/dist/models/policies/policy-resource.js +16 -15
  346. package/dist/models/policies/rule-resource.js +12 -11
  347. package/dist/models/property-copy-option-resource.d.ts +19 -0
  348. package/dist/models/property-copy-option-resource.js +41 -0
  349. package/dist/models/property-definition-resource.js +35 -34
  350. package/dist/models/query-loading-resource.d.ts +5 -0
  351. package/dist/models/query-loading-resource.js +9 -3
  352. package/dist/models/query-result-resource.js +6 -5
  353. package/dist/models/relation-copy-option-resource.d.ts +20 -0
  354. package/dist/models/relation-copy-option-resource.js +41 -0
  355. package/dist/models/relation-definition-resource.js +23 -22
  356. package/dist/models/relation-map-resource.js +2 -1
  357. package/dist/models/relation-resource.js +13 -12
  358. package/dist/models/resource-containers/entity-definition-resource-container.js +1 -0
  359. package/dist/models/resource-containers/entity-resource-container.js +1 -0
  360. package/dist/models/resource.js +3 -2
  361. package/dist/models/search/aggregation-request-resource.js +13 -12
  362. package/dist/models/search/aggregation-response-resource.js +7 -6
  363. package/dist/models/search/all-facet-values-response.js +6 -5
  364. package/dist/models/search/all-facets-request.d.ts +3 -0
  365. package/dist/models/search/all-facets-request.js +17 -8
  366. package/dist/models/search/bucket-response-resource.js +8 -7
  367. package/dist/models/search/date-interval.js +1 -0
  368. package/dist/models/search/facet-response-resource.js +20 -19
  369. package/dist/models/search/field-filter-request-resource.js +14 -13
  370. package/dist/models/search/field-filter-response-resource.js +17 -16
  371. package/dist/models/search/field-filter-value-response-resource.js +5 -4
  372. package/dist/models/search/filter-operator.js +1 -0
  373. package/dist/models/search/full-text-response-resource.js +4 -3
  374. package/dist/models/search/group-category.js +6 -5
  375. package/dist/models/search/group-config.js +4 -3
  376. package/dist/models/search/group-item.js +7 -6
  377. package/dist/models/search/grouped-view-response-resource.js +12 -11
  378. package/dist/models/search/metric-option-request-resource.js +5 -4
  379. package/dist/models/search/metric-option-response-resource.js +5 -4
  380. package/dist/models/search/nested-relation-info.js +9 -8
  381. package/dist/models/search/requested-aggregation-type.js +1 -0
  382. package/dist/models/search/requested-filter-type.js +1 -0
  383. package/dist/models/search/search-group-request-resource.d.ts +1 -0
  384. package/dist/models/search/search-group-request-resource.js +8 -3
  385. package/dist/models/search/search-request.d.ts +2 -0
  386. package/dist/models/search/search-request.js +37 -28
  387. package/dist/models/search/search-response.js +24 -23
  388. package/dist/models/search/selection-pool-filter-resource.js +6 -5
  389. package/dist/models/search/sorting-request-resource.js +4 -3
  390. package/dist/models/search/sorting-response-resource.js +5 -4
  391. package/dist/models/search-document-resource.js +4 -3
  392. package/dist/models/set-password-request-resource.js +3 -2
  393. package/dist/models/setting-resource.d.ts +9 -0
  394. package/dist/models/setting-resource.js +40 -0
  395. package/dist/models/upload/array-buffer-upload-source.d.ts +8 -0
  396. package/dist/models/upload/array-buffer-upload-source.js +19 -15
  397. package/dist/models/upload/create-upload-response.js +5 -4
  398. package/dist/models/upload/http-upload-source.js +1 -0
  399. package/dist/models/upload/local-upload-source.js +2 -0
  400. package/dist/models/upload/upload-action.js +4 -3
  401. package/dist/models/upload/upload-configuration.js +4 -3
  402. package/dist/models/upload/upload-request-wrapper.js +8 -7
  403. package/dist/models/upload/upload-request.js +1 -0
  404. package/dist/models/user-entity-permissions-resource.js +13 -12
  405. package/dist/models/versionining/compatibility.js +1 -0
  406. package/dist/settings/fetch-setting.js +17 -16
  407. package/dist/settings/super-user-excluded-privileges.js +4 -3
  408. package/dist/settings/usage-rights-configuration.js +18 -17
  409. package/dist/type-guards.js +1 -0
  410. package/dist/utilities/array-utilities.js +1 -0
  411. package/package.json +20 -21
package/README.md CHANGED
@@ -4,18 +4,46 @@ Sitecore Content Hub WebClient JS SDK, which is a lightweight JS client for Site
4
4
 
5
5
  ## Internal resources
6
6
 
7
- - [Backlog](https://stylelabs.atlassian.net/secure/RapidBoard.jspa?rapidView=347&projectKey=ONSJSSDK&view=planning.nodetail&issueLimit=100)
8
- - Slack: #ch-devex-questions
7
+ - [Backlog](https://stylelabs.atlassian.net/secure/RapidBoard.jspa?rapidView=347&projectKey=ONSJSSDK&view=planning.nodetail&issueLimit=100)
8
+ - Slack: #ch-devex-questions
9
9
 
10
10
  ## Release process
11
11
 
12
12
  There are currently three build configurations that are specified in `bitbucket-pipelines.yml`
13
13
 
14
- - A basic build runs each time a pull request is created or updated. This is to ensure that all unit tests are passing before committing any code to `master`.
15
- - Once a pull request has been completed and the code is merged to `master`, an internal build is triggered automatically.
16
- - Public releases can be created by tagging a commit with the following: `release-<major>.<minor>.<patch>` (e.g `release-1.0.0`). Upon a successful build all artifacts are pushed to the public channels.
14
+ - A basic build runs each time a pull request is created or updated. This is to ensure that all unit tests are passing before committing any code to `master`.
15
+ - Once a pull request has been completed and the code is merged to `master`, an internal build is triggered automatically.
16
+ - Public releases can be created by tagging a commit with the following: `release-<major>.<minor>.<patch>` (e.g `release-1.0.0`). Upon a successful build all artifacts are pushed to the public channels.
17
+
18
+ ### To Release
19
+
20
+ - Add new release tag, `release-<major>.<minor>.<patch>`.
21
+ - Trigger a release build to publish final artifacts to the partners feed.
22
+ - Cut the release branch, `release\<major>.<minor>.x`.
23
+ - Update the Changelog in Documentation repository.
24
+ - Update Content Hub repository with new official released version.
25
+ - Bump version for the next release.
17
26
 
18
27
  ## Documentation
19
28
 
20
- - [Stylelabs.M.Docs reporitory](https://bitbucket.org/stylelabsdev/stylelabs.m.docs/src/master/docfx-website/content/4.0.x/integrations/javascript-sdk/)
21
- *NOTE: There are multiple paths for various versions that need to be updated independently.*
29
+ [Stylelabs.M.Docs reporitory](https://bitbucket.org/stylelabsdev/stylelabs.m.docs/src/master/docfx-website/content/4.0.x/integrations/javascript-sdk/)
30
+
31
+ _NOTE: There are multiple paths for various versions that need to be updated independently._
32
+
33
+ ## Dev test configuration
34
+
35
+ Some tests require an instance of ContentHub and a configuration to run.
36
+
37
+ 1. Create a .env file in project root.
38
+ 1. Configure an OAuth client in `<path-to-contenthub>/en-us/admin/oauthclients`.
39
+
40
+ Example .env config:
41
+
42
+ ```
43
+ ENDPOINT=https://localhost:5001
44
+ OAUTH_CLIENT_ID=jssdk
45
+ OAUTH_CLIENT_SECRET=testsecret
46
+ USER_NAME=Administrator
47
+ USER_PASSWORD=admin
48
+ IGNORE_HTTPS_ERRORS=true
49
+ ```
@@ -18,25 +18,26 @@ const api_resource_1 = require("./api-resource");
18
18
  let ApiInfoResource = class ApiInfoResource {
19
19
  };
20
20
  __decorate([
21
- ta_json_1.JsonProperty("file_version"),
22
- ta_json_1.JsonConverter(file_version_converter_1.FileVersionConverter),
21
+ (0, ta_json_1.JsonProperty)("file_version"),
22
+ (0, ta_json_1.JsonConverter)(file_version_converter_1.FileVersionConverter),
23
23
  __metadata("design:type", fileversion_1.FileVersion)
24
24
  ], ApiInfoResource.prototype, "fileVersion", void 0);
25
25
  __decorate([
26
- ta_json_1.JsonProperty("product_version"),
26
+ (0, ta_json_1.JsonProperty)("product_version"),
27
27
  __metadata("design:type", String)
28
28
  ], ApiInfoResource.prototype, "productVersion", void 0);
29
29
  __decorate([
30
- ta_json_1.JsonProperty("minimum_sdk_version"),
31
- ta_json_1.JsonConverter(file_version_converter_1.FileVersionConverter),
30
+ (0, ta_json_1.JsonProperty)("minimum_sdk_version"),
31
+ (0, ta_json_1.JsonConverter)(file_version_converter_1.FileVersionConverter),
32
32
  __metadata("design:type", fileversion_1.FileVersion)
33
33
  ], ApiInfoResource.prototype, "minimumSdkVersion", void 0);
34
34
  __decorate([
35
- ta_json_1.JsonProperty("routes"),
36
- ta_json_1.JsonConverter(api_resource_converter_1.ApiResourceConverter),
35
+ (0, ta_json_1.JsonProperty)("routes"),
36
+ (0, ta_json_1.JsonConverter)(api_resource_converter_1.ApiResourceConverter),
37
37
  __metadata("design:type", api_resource_1.ApiResource)
38
38
  ], ApiInfoResource.prototype, "routes", void 0);
39
39
  ApiInfoResource = __decorate([
40
- ta_json_1.JsonObject()
40
+ (0, ta_json_1.JsonObject)()
41
41
  ], ApiInfoResource);
42
42
  exports.ApiInfoResource = ApiInfoResource;
43
+ //# sourceMappingURL=api-info-resource.js.map
@@ -12,3 +12,4 @@ class ApiInfo {
12
12
  }
13
13
  }
14
14
  exports.ApiInfo = ApiInfo;
15
+ //# sourceMappingURL=api-info.js.map
@@ -11,6 +11,7 @@ const ta_json_1 = require("ta-json");
11
11
  let ApiResource = class ApiResource {
12
12
  };
13
13
  ApiResource = __decorate([
14
- ta_json_1.JsonObject()
14
+ (0, ta_json_1.JsonObject)()
15
15
  ], ApiResource);
16
16
  exports.ApiResource = ApiResource;
17
+ //# sourceMappingURL=api-resource.js.map
@@ -8,3 +8,4 @@ exports.ApiRoutesDictionary = void 0;
8
8
  class ApiRoutesDictionary {
9
9
  }
10
10
  exports.ApiRoutesDictionary = ApiRoutesDictionary;
11
+ //# sourceMappingURL=api-routes-dictionary.js.map
@@ -24,19 +24,20 @@ let OAuthGrantBase = class OAuthGrantBase {
24
24
  }
25
25
  };
26
26
  __decorate([
27
- ta_json_1.JsonProperty("grant_type"),
27
+ (0, ta_json_1.JsonProperty)("grant_type"),
28
28
  __metadata("design:type", String)
29
29
  ], OAuthGrantBase.prototype, "type", void 0);
30
30
  __decorate([
31
- ta_json_1.JsonProperty("client_id"),
31
+ (0, ta_json_1.JsonProperty)("client_id"),
32
32
  __metadata("design:type", String)
33
33
  ], OAuthGrantBase.prototype, "clientId", void 0);
34
34
  __decorate([
35
- ta_json_1.JsonProperty("client_secret"),
35
+ (0, ta_json_1.JsonProperty)("client_secret"),
36
36
  __metadata("design:type", String)
37
37
  ], OAuthGrantBase.prototype, "clientSecret", void 0);
38
38
  OAuthGrantBase = __decorate([
39
- ta_json_1.JsonObject(),
39
+ (0, ta_json_1.JsonObject)(),
40
40
  __metadata("design:paramtypes", [String, String])
41
41
  ], OAuthGrantBase);
42
42
  exports.OAuthGrantBase = OAuthGrantBase;
43
+ //# sourceMappingURL=oauth-grant-base.js.map
@@ -6,3 +6,4 @@ var OAuthGrantType;
6
6
  OAuthGrantType["Password"] = "password";
7
7
  OAuthGrantType["RefreshToken"] = "refresh_token";
8
8
  })(OAuthGrantType = exports.OAuthGrantType || (exports.OAuthGrantType = {}));
9
+ //# sourceMappingURL=oauth-grant-type.js.map
@@ -27,19 +27,20 @@ let OAuthPasswordGrant = class OAuthPasswordGrant extends oauth_grant_base_1.OAu
27
27
  }
28
28
  };
29
29
  __decorate([
30
- ta_json_1.JsonProperty("grant_type"),
30
+ (0, ta_json_1.JsonProperty)("grant_type"),
31
31
  __metadata("design:type", String)
32
32
  ], OAuthPasswordGrant.prototype, "type", void 0);
33
33
  __decorate([
34
- ta_json_1.JsonProperty("username"),
34
+ (0, ta_json_1.JsonProperty)("username"),
35
35
  __metadata("design:type", String)
36
36
  ], OAuthPasswordGrant.prototype, "username", void 0);
37
37
  __decorate([
38
- ta_json_1.JsonProperty("password"),
38
+ (0, ta_json_1.JsonProperty)("password"),
39
39
  __metadata("design:type", String)
40
40
  ], OAuthPasswordGrant.prototype, "password", void 0);
41
41
  OAuthPasswordGrant = __decorate([
42
- ta_json_1.JsonObject(),
42
+ (0, ta_json_1.JsonObject)(),
43
43
  __metadata("design:paramtypes", [String, String, String, String])
44
44
  ], OAuthPasswordGrant);
45
45
  exports.default = OAuthPasswordGrant;
46
+ //# sourceMappingURL=oauth-password-grant.js.map
@@ -25,15 +25,16 @@ let OAuthRefreshTokenGrant = class OAuthRefreshTokenGrant extends oauth_grant_ba
25
25
  }
26
26
  };
27
27
  __decorate([
28
- ta_json_1.JsonProperty("grant_type"),
28
+ (0, ta_json_1.JsonProperty)("grant_type"),
29
29
  __metadata("design:type", String)
30
30
  ], OAuthRefreshTokenGrant.prototype, "type", void 0);
31
31
  __decorate([
32
- ta_json_1.JsonProperty("refresh_token"),
32
+ (0, ta_json_1.JsonProperty)("refresh_token"),
33
33
  __metadata("design:type", String)
34
34
  ], OAuthRefreshTokenGrant.prototype, "refreshToken", void 0);
35
35
  OAuthRefreshTokenGrant = __decorate([
36
- ta_json_1.JsonObject(),
36
+ (0, ta_json_1.JsonObject)(),
37
37
  __metadata("design:paramtypes", [String, String, String])
38
38
  ], OAuthRefreshTokenGrant);
39
39
  exports.default = OAuthRefreshTokenGrant;
40
+ //# sourceMappingURL=oauth-refreshtoken-grant.js.map
@@ -14,22 +14,23 @@ const ta_json_1 = require("ta-json");
14
14
  let TokenInfo = class TokenInfo {
15
15
  };
16
16
  __decorate([
17
- ta_json_1.JsonProperty("access_token"),
17
+ (0, ta_json_1.JsonProperty)("access_token"),
18
18
  __metadata("design:type", String)
19
19
  ], TokenInfo.prototype, "accessToken", void 0);
20
20
  __decorate([
21
- ta_json_1.JsonProperty("token_type"),
21
+ (0, ta_json_1.JsonProperty)("token_type"),
22
22
  __metadata("design:type", String)
23
23
  ], TokenInfo.prototype, "tokenType", void 0);
24
24
  __decorate([
25
- ta_json_1.JsonProperty("refresh_token"),
25
+ (0, ta_json_1.JsonProperty)("refresh_token"),
26
26
  __metadata("design:type", String)
27
27
  ], TokenInfo.prototype, "refreshToken", void 0);
28
28
  __decorate([
29
- ta_json_1.JsonProperty("redirect_url"),
29
+ (0, ta_json_1.JsonProperty)("redirect_url"),
30
30
  __metadata("design:type", String)
31
31
  ], TokenInfo.prototype, "redirectUrl", void 0);
32
32
  TokenInfo = __decorate([
33
- ta_json_1.JsonObject()
33
+ (0, ta_json_1.JsonObject)()
34
34
  ], TokenInfo);
35
35
  exports.TokenInfo = TokenInfo;
36
+ //# sourceMappingURL=token-info.js.map
@@ -30,3 +30,4 @@ class CaseInsensitiveStringMap {
30
30
  }
31
31
  }
32
32
  exports.CaseInsensitiveStringMap = CaseInsensitiveStringMap;
33
+ //# sourceMappingURL=base-types.js.map
@@ -19,3 +19,4 @@ class CultureCache {
19
19
  }
20
20
  }
21
21
  exports.CultureCache = CultureCache;
22
+ //# sourceMappingURL=culture-cache.js.map
@@ -11,33 +11,43 @@ export declare class EntityDefinitionCache {
11
11
  /**
12
12
  * Load the specified definition into the cache.
13
13
  * @param definition - The entity definition
14
+ * @param includeConditionalMembers - Include conditional members
15
+ * @param loadPermissions - Load permissions for the definition
14
16
  */
15
- load(definition: IEntityDefinition): void;
17
+ load(definition: IEntityDefinition, includeConditionalMembers?: boolean, loadPermissions?: boolean): void;
16
18
  /**
17
19
  * Load the specified definition into the cache asynchronously.
18
20
  * @param key - The definition name or definition id
19
21
  * @param promise - A promise resolving to the definition
22
+ * @param includeConditionalMembers - Include conditional members
23
+ * @param loadPermissions - Load permissions for the definition
20
24
  */
21
- loadAsync(key: string | number, promise: NullableResultPromise<IEntityDefinition>): Promise<void>;
25
+ loadAsync(key: string | number, promise: NullableResultPromise<IEntityDefinition>, includeConditionalMembers?: boolean, loadPermissions?: boolean): Promise<void>;
22
26
  /**
23
27
  * Retrieve the definition with specified name or id from the cache.
24
28
  * @param key - The definition name or definition id
29
+ * @param includeConditionalMembers - Include conditional members
30
+ * @param loadPermissions - Load permissions for the definition
25
31
  * @returns The cached definition or null
26
32
  */
27
- get(key: string | number): Nullable<IEntityDefinition>;
33
+ get(key: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean): Nullable<IEntityDefinition>;
28
34
  /**
29
35
  * Retrieve the definition with specified name or id from the cache asynchronously.
30
36
  * @param key - The definition name or definition id
37
+ * @param includeConditionalMembers - Include conditional members
38
+ * @param loadPermissions - Load permissions for the definition
31
39
  * @returns A promise resolving to the cached definition or null
32
40
  */
33
- getAsync(key: string | number): Nullable<NullableResultPromise<IEntityDefinition>>;
41
+ getAsync(key: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean): Nullable<NullableResultPromise<IEntityDefinition>>;
34
42
  /**
35
43
  * Loads all definitions into the cache.
36
44
  * @param definitions - An array of entity definitions
37
45
  * @param loadAllIndividually - Flag indicating whether to load the definitions individually or not
38
46
  * @param loadAsGroup - Key to be used to store the array of definitions, or false to not load the array
47
+ * @param includeConditionalMembers - Include conditional members
48
+ * @param loadPermissions - Load permissions for the definitions
39
49
  */
40
- loadAll(definitions: Array<IEntityDefinition>, loadAllIndividually?: boolean, loadAsGroup?: false | string): void;
50
+ loadAll(definitions: Array<IEntityDefinition>, loadAllIndividually?: boolean, loadAsGroup?: false | string, includeConditionalMembers?: boolean, loadPermissions?: boolean): void;
41
51
  /**
42
52
  * Retrieves an array of definitions that was cached with the specified group key.
43
53
  *
@@ -45,13 +55,17 @@ export declare class EntityDefinitionCache {
45
55
  * Can not be used to retrieve a single cached definition. Use {@link EntityDefinitionCache.get} instead.
46
56
  *
47
57
  * @param group - The key with which the group of definitions was stored
58
+ * @param includeConditionalMembers - Include conditional members
59
+ * @param loadPermissions - Load permissions for the definitions
48
60
  */
49
- getAll(group?: string): Nullable<Array<IEntityDefinition>>;
61
+ getAll(group?: string, includeConditionalMembers?: boolean, loadPermissions?: boolean): Nullable<Array<IEntityDefinition>>;
50
62
  /**
51
63
  * Invalidates/removes the definition with specified name or id from the cache.
52
64
  * @param key - The definition name or definition id
65
+ * @param includeConditionalMembers - Include conditional members
66
+ * @param loadPermissions - Load permissions for the definition
53
67
  */
54
- invalidate(key?: string | number): void;
68
+ invalidate(key?: string | number, includeConditionalMembers?: boolean, loadPermissions?: boolean): void;
55
69
  private validateKey;
56
70
  private getCacheKey;
57
71
  }
@@ -18,22 +18,26 @@ class EntityDefinitionCache {
18
18
  /**
19
19
  * Load the specified definition into the cache.
20
20
  * @param definition - The entity definition
21
+ * @param includeConditionalMembers - Include conditional members
22
+ * @param loadPermissions - Load permissions for the definition
21
23
  */
22
- load(definition) {
24
+ load(definition, includeConditionalMembers, loadPermissions) {
23
25
  guard_1.default.notNullOrUndefined(definition, "definition");
24
26
  guard_1.default.notNullOrUndefined(definition.id, "definition id");
25
- this._map.set(this.getCacheKey(definition.name), definition);
26
- this._map.set(definition.id.toString(), definition);
27
+ this._map.set(this.getCacheKey(definition.name, includeConditionalMembers, loadPermissions), definition);
28
+ this._map.set(this.getCacheKey(definition.id.toString(), includeConditionalMembers, loadPermissions), definition);
27
29
  }
28
30
  /**
29
31
  * Load the specified definition into the cache asynchronously.
30
32
  * @param key - The definition name or definition id
31
33
  * @param promise - A promise resolving to the definition
34
+ * @param includeConditionalMembers - Include conditional members
35
+ * @param loadPermissions - Load permissions for the definition
32
36
  */
33
- loadAsync(key, promise) {
37
+ loadAsync(key, promise, includeConditionalMembers, loadPermissions) {
34
38
  this.validateKey(key);
35
39
  guard_1.default.notNullOrUndefined(promise);
36
- this._map.set(`${this._promiseKeyPrefix}${this.getCacheKey(key.toString())}`, promise);
40
+ this._map.set(`${this._promiseKeyPrefix}${this.getCacheKey(key.toString(), includeConditionalMembers, loadPermissions)}`, promise);
37
41
  const loadPromise = promise.then(definition => {
38
42
  if (definition) {
39
43
  this.load(definition);
@@ -44,26 +48,30 @@ class EntityDefinitionCache {
44
48
  /**
45
49
  * Retrieve the definition with specified name or id from the cache.
46
50
  * @param key - The definition name or definition id
51
+ * @param includeConditionalMembers - Include conditional members
52
+ * @param loadPermissions - Load permissions for the definition
47
53
  * @returns The cached definition or null
48
54
  */
49
- get(key) {
55
+ get(key, includeConditionalMembers, loadPermissions) {
50
56
  this.validateKey(key);
51
- const res = this._map.get(this.getCacheKey(key.toString())) || null;
57
+ const res = this._map.get(this.getCacheKey(key.toString(), includeConditionalMembers, loadPermissions)) || null;
52
58
  return res;
53
59
  }
54
60
  /**
55
61
  * Retrieve the definition with specified name or id from the cache asynchronously.
56
62
  * @param key - The definition name or definition id
63
+ * @param includeConditionalMembers - Include conditional members
64
+ * @param loadPermissions - Load permissions for the definition
57
65
  * @returns A promise resolving to the cached definition or null
58
66
  */
59
- getAsync(key) {
67
+ getAsync(key, includeConditionalMembers, loadPermissions) {
60
68
  this.validateKey(key);
61
- const promise = (this._map.get(`${this._promiseKeyPrefix}${this.getCacheKey(key.toString())}`) ||
62
- null);
69
+ const promise = (this._map.get(`${this._promiseKeyPrefix}${this.getCacheKey(key.toString(), includeConditionalMembers, loadPermissions)}`) || null);
63
70
  if (promise != null) {
64
71
  return promise;
65
72
  }
66
- const definition = (this.get(this.getCacheKey(key.toString())) || null);
73
+ const definition = (this.get(this.getCacheKey(key.toString(), includeConditionalMembers, loadPermissions)) ||
74
+ null);
67
75
  if (definition != null) {
68
76
  return Promise.resolve(definition);
69
77
  }
@@ -74,18 +82,20 @@ class EntityDefinitionCache {
74
82
  * @param definitions - An array of entity definitions
75
83
  * @param loadAllIndividually - Flag indicating whether to load the definitions individually or not
76
84
  * @param loadAsGroup - Key to be used to store the array of definitions, or false to not load the array
85
+ * @param includeConditionalMembers - Include conditional members
86
+ * @param loadPermissions - Load permissions for the definitions
77
87
  */
78
- loadAll(definitions, loadAllIndividually = true, loadAsGroup = this._allCacheKey) {
88
+ loadAll(definitions, loadAllIndividually = true, loadAsGroup = this._allCacheKey, includeConditionalMembers, loadPermissions) {
79
89
  guard_1.default.notNullOrUndefined(definitions);
80
90
  if (definitions.length === 0) {
81
91
  return;
82
92
  }
83
93
  if (loadAsGroup) {
84
94
  guard_1.default.stringNotNullOrEmpty(loadAsGroup);
85
- this._map.set(this.getCacheKey(loadAsGroup), definitions);
95
+ this._map.set(this.getCacheKey(loadAsGroup, includeConditionalMembers, loadPermissions), definitions);
86
96
  }
87
97
  if (loadAllIndividually) {
88
- definitions.forEach(this.load, this);
98
+ definitions.forEach(definition => this.load(definition, includeConditionalMembers, loadPermissions), this);
89
99
  }
90
100
  }
91
101
  /**
@@ -95,16 +105,20 @@ class EntityDefinitionCache {
95
105
  * Can not be used to retrieve a single cached definition. Use {@link EntityDefinitionCache.get} instead.
96
106
  *
97
107
  * @param group - The key with which the group of definitions was stored
108
+ * @param includeConditionalMembers - Include conditional members
109
+ * @param loadPermissions - Load permissions for the definitions
98
110
  */
99
- getAll(group = this._allCacheKey) {
100
- const res = this._map.get(this.getCacheKey(group)) || null;
111
+ getAll(group = this._allCacheKey, includeConditionalMembers, loadPermissions) {
112
+ const res = this._map.get(this.getCacheKey(group, includeConditionalMembers, loadPermissions)) || null;
101
113
  return res instanceof Array ? res : null;
102
114
  }
103
115
  /**
104
116
  * Invalidates/removes the definition with specified name or id from the cache.
105
117
  * @param key - The definition name or definition id
118
+ * @param includeConditionalMembers - Include conditional members
119
+ * @param loadPermissions - Load permissions for the definition
106
120
  */
107
- invalidate(key) {
121
+ invalidate(key, includeConditionalMembers, loadPermissions) {
108
122
  if (!key) {
109
123
  this._map.clear();
110
124
  return;
@@ -113,8 +127,8 @@ class EntityDefinitionCache {
113
127
  const definition = this.get(key);
114
128
  if (!definition)
115
129
  return;
116
- this._map.delete(this.getCacheKey(definition.name));
117
- this._map.delete(definition.id.toString());
130
+ this._map.delete(this.getCacheKey(definition.name, includeConditionalMembers, loadPermissions));
131
+ this._map.delete(this.getCacheKey(definition.id.toString(), includeConditionalMembers, loadPermissions));
118
132
  }
119
133
  validateKey(key) {
120
134
  if (typeof key === "string") {
@@ -124,8 +138,11 @@ class EntityDefinitionCache {
124
138
  guard_1.default.validId(key);
125
139
  }
126
140
  }
127
- getCacheKey(key) {
128
- return key.trim().toLowerCase();
141
+ getCacheKey(key, includeConditionalMembers, loadPermissions) {
142
+ return [key.trim().toLowerCase(), includeConditionalMembers && "conditionals", loadPermissions && "permissions"]
143
+ .filter(Boolean)
144
+ .join("-");
129
145
  }
130
146
  }
131
147
  exports.EntityDefinitionCache = EntityDefinitionCache;
148
+ //# sourceMappingURL=entity-definition-cache.js.map
@@ -1,19 +1,43 @@
1
1
  import CultureInfo from "../culture-info";
2
2
  import { AggregateResource } from "../models/aggregate-resources/aggregate-resource";
3
3
  import { IExtendedContentHubClient } from "./extended-client";
4
+ import { CancelCallback } from "./internal-client";
5
+ export interface AggregateLoadOption {
6
+ /**
7
+ * Flag for loading option lists. Defaults to true.
8
+ */
9
+ loadOptionLists?: boolean;
10
+ /**
11
+ * Flag for loading settings. Defaults to true.
12
+ */
13
+ loadSettings?: boolean;
14
+ /**
15
+ * Flag for loading definitions. Defaults to true.
16
+ */
17
+ loadDefinitions?: boolean;
18
+ /**
19
+ * Flag for loading entities. Defaults to true.
20
+ */
21
+ loadEntities?: boolean;
22
+ /**
23
+ * Flag for loading permissions. If not defined, will not be added to the query.
24
+ */
25
+ loadPermissions?: boolean;
26
+ }
4
27
  export interface IAggregateClient {
5
28
  /**
6
29
  * Method for getting the specified aggregate for the specified entity.
7
30
  * @param name - The name of the aggregate
8
31
  * @param id - The entity id to get the aggregate for
9
32
  * @param culture - The user culture
10
- * @param loadPermissions - Flag for loading permissions
33
+ * @param loadOptions - Can optionally configure what needs to be loaded from the aggregates (everything will be loaded by default except for permissions)
34
+ * @param cancelCallback - A {@link CancelCallback} that will be placed in an Axios {@link CancelToken} if provided
11
35
  * @returns An aggregate resource
12
36
  */
13
- getAsync(name: string, id: number, culture?: CultureInfo, loadPermissions?: boolean): Promise<AggregateResource>;
37
+ getAsync(name: string, id: number, culture?: CultureInfo, loadOptions?: AggregateLoadOption, cancelCallback?: CancelCallback): Promise<AggregateResource>;
14
38
  }
15
39
  export declare class AggregateClient implements IAggregateClient {
16
40
  private readonly _client;
17
41
  constructor(client: IExtendedContentHubClient);
18
- getAsync(name: string, id: number, culture?: CultureInfo, loadPermissions?: boolean): Promise<AggregateResource>;
42
+ getAsync(name: string, id: number, culture?: CultureInfo, loadOptions?: AggregateLoadOption, cancelCallback?: CancelCallback): Promise<AggregateResource>;
19
43
  }
@@ -22,14 +22,15 @@ class AggregateClient {
22
22
  guard_1.default.notNull(client);
23
23
  this._client = client;
24
24
  }
25
- getAsync(name, id, culture, loadPermissions) {
25
+ getAsync(name, id, culture, loadOptions = {}, cancelCallback) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
27
  guard_1.default.stringNotNullOrEmpty(name);
28
- const link = yield this._client.linkHelper.aggregateToLinkAsync(name, id, culture, loadPermissions);
29
- const response = yield this._client.raw.getAsync(link.href);
28
+ const link = yield this._client.linkHelper.aggregateToLinkAsync(name, id, culture, loadOptions);
29
+ const response = yield this._client.raw.getAsync(link.href, undefined, cancelCallback);
30
30
  response_handler_1.ResponseHandler.handleErrors(response);
31
31
  return ta_json_1.TaJson.deserialize(response.content, aggregate_resource_1.AggregateResource);
32
32
  });
33
33
  }
34
34
  }
35
35
  exports.AggregateClient = AggregateClient;
36
+ //# sourceMappingURL=aggregates-client.js.map
@@ -91,10 +91,10 @@ class ApiClient {
91
91
  if (!this.disableCompatibilityChecks) {
92
92
  const compatibilityResult = this._client.versionChecker.getCompatibility(serverVersion, sdkVersion, resource.minimumSdkVersion);
93
93
  if (compatibilityResult == compatibility_1.Compatibility.SdkOld) {
94
- throw new not_supported_error_1.NotSupportedError(string_format_1.default(error_messages_1.default.ContentHubClient.IncompatibleMinimumVersion, sdkVersion, serverVersion, resource.minimumSdkVersion));
94
+ throw new not_supported_error_1.NotSupportedError((0, string_format_1.default)(error_messages_1.default.ContentHubClient.IncompatibleMinimumVersion, sdkVersion, serverVersion, resource.minimumSdkVersion));
95
95
  }
96
96
  if (compatibilityResult == compatibility_1.Compatibility.SdkNew) {
97
- throw new not_supported_error_1.NotSupportedError(string_format_1.default(error_messages_1.default.ContentHubClient.IncompatibleVersion, sdkVersion, serverVersion));
97
+ throw new not_supported_error_1.NotSupportedError((0, string_format_1.default)(error_messages_1.default.ContentHubClient.IncompatibleVersion, sdkVersion, serverVersion));
98
98
  }
99
99
  }
100
100
  const apiInfo = api_resource_mapper_1.ApiResourceMapper.map(resource);
@@ -103,3 +103,4 @@ class ApiClient {
103
103
  }
104
104
  }
105
105
  exports.ApiClient = ApiClient;
106
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1,16 @@
1
+ import { IExtendedContentHubClient } from "./extended-client";
2
+ /**
3
+ * Allows fetching culture information.
4
+ */
5
+ export interface IAssetsClient {
6
+ /**
7
+ * Gets the default culture.
8
+ * @returns The default culture.
9
+ */
10
+ createPublicLinkAsync(assetId: number, rendition: string, expirationDate?: Date, relativeUrl?: string): Promise<number>;
11
+ }
12
+ export declare class AssetsClient implements IAssetsClient {
13
+ private readonly _client;
14
+ constructor(client: IExtendedContentHubClient);
15
+ createPublicLinkAsync(assetId: number, rendition: string, expirationDate?: Date, relativeUrl?: string): Promise<number>;
16
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AssetsClient = void 0;
16
+ const definitions_1 = require("../constants/definitions");
17
+ const guard_1 = __importDefault(require("../guard"));
18
+ class AssetsClient {
19
+ constructor(client) {
20
+ guard_1.default.notNull(client);
21
+ this._client = client;
22
+ }
23
+ createPublicLinkAsync(assetId, rendition, expirationDate, relativeUrl) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ guard_1.default.validId(assetId);
26
+ guard_1.default.stringNotNullOrEmpty(rendition);
27
+ const publicLink = yield this._client.entityFactory.createAsync(definitions_1.PublicLink.definitionName);
28
+ publicLink.setPropertyValue(definitions_1.PublicLink.resource, rendition);
29
+ if (expirationDate) {
30
+ publicLink.setPropertyValue(definitions_1.PublicLink.expirationDate, expirationDate);
31
+ }
32
+ if (relativeUrl) {
33
+ guard_1.default.stringNotNullOrEmpty(relativeUrl);
34
+ publicLink.setPropertyValue(definitions_1.PublicLink.relativeUrl, relativeUrl);
35
+ }
36
+ const assetToPublicLink = publicLink.getRelation(definitions_1.PublicLink.assetToPublicLink);
37
+ assetToPublicLink === null || assetToPublicLink === void 0 ? void 0 : assetToPublicLink.add(assetId);
38
+ return this._client.entities.saveAsync(publicLink);
39
+ });
40
+ }
41
+ }
42
+ exports.AssetsClient = AssetsClient;
43
+ //# sourceMappingURL=assets-client.js.map
@@ -1,4 +1,5 @@
1
1
  import { IExtendedContentHubClient } from "./extended-client";
2
+ import { CancelCallback } from "./internal-client";
2
3
  import { ResponseMessage } from "./response-message";
3
4
  export interface ICommandsClient {
4
5
  /**
@@ -6,21 +7,23 @@ export interface ICommandsClient {
6
7
  * @param namespace - The name of the folder containing the command
7
8
  * @param command - The name of the command
8
9
  * @param args - The arguments of the command or null/undefined if the command has no arguments
10
+ * @param cancelCallback - A {@link CancelCallback} that will be placed in an Axios {@link CancelToken} if provided
9
11
  * @returns The raw HTTP response.
10
12
  */
11
- executeCommandRawAsync(namespace: string, command: string, args?: unknown): Promise<ResponseMessage<unknown>>;
13
+ executeCommandRawAsync(namespace: string, command: string, args?: unknown, cancelCallback?: CancelCallback): Promise<ResponseMessage<unknown>>;
12
14
  /**
13
15
  * Executes a Content Hub command.
14
16
  * @param namespace - The name of the folder containing the command
15
17
  * @param command - The name of the command
16
18
  * @param args - The arguments of the command or null/undefined if the command has no arguments
19
+ * @param cancelCallback - A {@link CancelCallback} that will be placed in an Axios {@link CancelToken} if provided
17
20
  * @returns The result of the command. If the command has no result, null is returned.
18
21
  */
19
- executeCommandAsync(namespace: string, command: string, args?: unknown): Promise<unknown>;
22
+ executeCommandAsync(namespace: string, command: string, args?: unknown, cancelCallback?: CancelCallback): Promise<unknown>;
20
23
  }
21
24
  export declare class CommandsClient implements ICommandsClient {
22
25
  private readonly _client;
23
26
  constructor(client: IExtendedContentHubClient);
24
- executeCommandRawAsync(namespace: string, command: string, args?: unknown): Promise<ResponseMessage<unknown>>;
25
- executeCommandAsync(namespace: string, command: string, args?: unknown): Promise<unknown>;
27
+ executeCommandRawAsync(namespace: string, command: string, args?: unknown, cancelCallback?: CancelCallback): Promise<ResponseMessage<unknown>>;
28
+ executeCommandAsync(namespace: string, command: string, args?: unknown, cancelCallback?: CancelCallback): Promise<unknown>;
26
29
  }