@coveo/push-api-client 1.6.9 → 2.1.0

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 (125) hide show
  1. package/README.md +2 -2
  2. package/dist/definitions/environment.d.ts +3 -3
  3. package/dist/definitions/errors/privilegeError.d.ts +6 -0
  4. package/dist/definitions/fieldAnalyser/fieldAnalyser.d.ts +2 -10
  5. package/dist/definitions/fieldAnalyser/{utils.d.ts → fieldUtils.d.ts} +0 -0
  6. package/dist/definitions/fieldAnalyser/{utils.spec.d.ts → fieldsUtils.spec.d.ts} +0 -0
  7. package/dist/definitions/fieldAnalyser/inconsistencies.d.ts +1 -1
  8. package/dist/definitions/fieldAnalyser/typeUtils.d.ts +3 -0
  9. package/dist/definitions/{source.spec.d.ts → fieldAnalyser/typeUtils.spec.d.ts} +0 -0
  10. package/dist/definitions/help/axiosUtils.d.ts +2 -0
  11. package/dist/definitions/help/fileConsumer.d.ts +26 -0
  12. package/dist/definitions/help/fileConsumer.spec.d.ts +1 -0
  13. package/dist/definitions/help/fileContainer.d.ts +9 -0
  14. package/dist/definitions/help/fileContainer.spec.d.ts +1 -0
  15. package/dist/definitions/help/urlUtils.d.ts +27 -0
  16. package/dist/definitions/index.d.ts +6 -2
  17. package/dist/definitions/interfaces.d.ts +39 -0
  18. package/dist/definitions/source/batchUploadDocumentsFromFile.d.ts +11 -0
  19. package/dist/definitions/source/catalog.d.ts +69 -0
  20. package/dist/definitions/source/catalog.spec.d.ts +1 -0
  21. package/dist/definitions/source/catalog.stream.spec.d.ts +1 -0
  22. package/dist/definitions/source/documentUploader.d.ts +5 -0
  23. package/dist/definitions/{source.d.ts → source/push.d.ts} +35 -77
  24. package/dist/definitions/source/push.spec.d.ts +1 -0
  25. package/dist/definitions/source/securityIdenty.d.ts +42 -0
  26. package/dist/definitions/source/source.d.ts +5 -0
  27. package/dist/definitions/uploadStrategy/fileContainerStrategy.d.ts +23 -0
  28. package/dist/definitions/uploadStrategy/index.d.ts +3 -0
  29. package/dist/definitions/uploadStrategy/strategy.d.ts +16 -0
  30. package/dist/definitions/uploadStrategy/streamChunkStrategy.d.ts +27 -0
  31. package/dist/definitions/validation/preconditions/apiKeyPrivilege.d.ts +3 -0
  32. package/dist/definitions/validation/preconditions/apiKeyPrivilege.spec.d.ts +1 -0
  33. package/dist/definitions/validation/preconditions/platformPrivilege.d.ts +7 -0
  34. package/dist/docs/assets/search.js +1 -1
  35. package/dist/docs/classes/AnySecurityIdentityBuilder.html +3 -3
  36. package/dist/docs/classes/DocumentBuilder.html +17 -17
  37. package/dist/docs/classes/FieldAnalyser.html +3 -3
  38. package/dist/docs/classes/GroupSecurityIdentityBuilder.html +3 -3
  39. package/dist/docs/classes/PushSource.html +43 -0
  40. package/dist/docs/classes/UserSecurityIdentityBuilder.html +3 -3
  41. package/dist/docs/classes/VirtualGroupSecurityIdentityBuilder.html +3 -3
  42. package/dist/docs/enums/PlatformEnvironment.html +1 -1
  43. package/dist/docs/enums/Region.html +1 -1
  44. package/dist/docs/enums/SourceVisibility.html +1 -1
  45. package/dist/docs/index.html +2 -2
  46. package/dist/docs/interfaces/BatchUpdateDocuments.html +1 -1
  47. package/dist/docs/interfaces/Document.html +14 -14
  48. package/dist/docs/interfaces/SecurityIdentity.html +4 -4
  49. package/dist/docs/interfaces/SecurityIdentityBuilder.html +1 -1
  50. package/dist/docs/interfaces/UploadBatchCallbackData.html +1 -1
  51. package/dist/docs/modules.html +3 -2
  52. package/dist/environment.js.map +1 -1
  53. package/dist/errors/privilegeError.js +13 -0
  54. package/dist/errors/privilegeError.js.map +1 -0
  55. package/dist/fieldAnalyser/fieldAnalyser.js +24 -62
  56. package/dist/fieldAnalyser/fieldAnalyser.js.map +1 -1
  57. package/dist/fieldAnalyser/fieldAnalyser.spec.js +28 -22
  58. package/dist/fieldAnalyser/fieldAnalyser.spec.js.map +1 -1
  59. package/dist/fieldAnalyser/{utils.js → fieldUtils.js} +5 -1
  60. package/dist/fieldAnalyser/fieldUtils.js.map +1 -0
  61. package/dist/fieldAnalyser/{utils.spec.js → fieldsUtils.spec.js} +7 -4
  62. package/dist/fieldAnalyser/fieldsUtils.spec.js.map +1 -0
  63. package/dist/fieldAnalyser/inconsistencies.js.map +1 -1
  64. package/dist/fieldAnalyser/typeUtils.js +39 -0
  65. package/dist/fieldAnalyser/typeUtils.js.map +1 -0
  66. package/dist/fieldAnalyser/typeUtils.spec.js +48 -0
  67. package/dist/fieldAnalyser/typeUtils.spec.js.map +1 -0
  68. package/dist/help/axiosUtils.js +12 -0
  69. package/dist/help/axiosUtils.js.map +1 -0
  70. package/dist/help/fileConsumer.js +100 -0
  71. package/dist/help/fileConsumer.js.map +1 -0
  72. package/dist/help/fileConsumer.spec.js +75 -0
  73. package/dist/help/fileConsumer.spec.js.map +1 -0
  74. package/dist/help/fileContainer.js +20 -0
  75. package/dist/help/fileContainer.js.map +1 -0
  76. package/dist/help/fileContainer.spec.js +34 -0
  77. package/dist/help/fileContainer.spec.js.map +1 -0
  78. package/dist/help/urlUtils.js +43 -0
  79. package/dist/help/urlUtils.js.map +1 -0
  80. package/dist/index.js +6 -3
  81. package/dist/index.js.map +1 -1
  82. package/dist/interfaces.js +3 -0
  83. package/dist/interfaces.js.map +1 -0
  84. package/dist/localtest.js +2 -2
  85. package/dist/localtest.js.map +1 -1
  86. package/dist/source/batchUploadDocumentsFromFile.js +50 -0
  87. package/dist/source/batchUploadDocumentsFromFile.js.map +1 -0
  88. package/dist/source/catalog.js +115 -0
  89. package/dist/source/catalog.js.map +1 -0
  90. package/dist/source/catalog.spec.js +239 -0
  91. package/dist/source/catalog.spec.js.map +1 -0
  92. package/dist/source/catalog.stream.spec.js +189 -0
  93. package/dist/source/catalog.stream.spec.js.map +1 -0
  94. package/dist/source/documentUploader.js +23 -0
  95. package/dist/source/documentUploader.js.map +1 -0
  96. package/dist/source/push.js +199 -0
  97. package/dist/source/push.js.map +1 -0
  98. package/dist/{source.spec.js → source/push.spec.js} +44 -27
  99. package/dist/source/push.spec.js.map +1 -0
  100. package/dist/source/securityIdenty.js +59 -0
  101. package/dist/source/securityIdenty.js.map +1 -0
  102. package/dist/source/source.js +9 -0
  103. package/dist/source/source.js.map +1 -0
  104. package/dist/uploadStrategy/fileContainerStrategy.js +34 -0
  105. package/dist/uploadStrategy/fileContainerStrategy.js.map +1 -0
  106. package/dist/uploadStrategy/index.js +7 -0
  107. package/dist/uploadStrategy/index.js.map +1 -0
  108. package/dist/uploadStrategy/strategy.js +3 -0
  109. package/dist/uploadStrategy/strategy.js.map +1 -0
  110. package/dist/uploadStrategy/streamChunkStrategy.js +51 -0
  111. package/dist/uploadStrategy/streamChunkStrategy.js.map +1 -0
  112. package/dist/validation/preconditions/apiKeyPrivilege.js +21 -0
  113. package/dist/validation/preconditions/apiKeyPrivilege.js.map +1 -0
  114. package/dist/validation/preconditions/apiKeyPrivilege.spec.js +70 -0
  115. package/dist/validation/preconditions/apiKeyPrivilege.spec.js.map +1 -0
  116. package/dist/validation/preconditions/platformPrivilege.js +35 -0
  117. package/dist/validation/preconditions/platformPrivilege.js.map +1 -0
  118. package/package.json +1 -1
  119. package/dist/docs/classes/Source.html +0 -45
  120. package/dist/docs/interfaces/BatchUpdateDocumentsFromFiles.html +0 -7
  121. package/dist/fieldAnalyser/utils.js.map +0 -1
  122. package/dist/fieldAnalyser/utils.spec.js.map +0 -1
  123. package/dist/source.js +0 -322
  124. package/dist/source.js.map +0 -1
  125. package/dist/source.spec.js.map +0 -1
@@ -1,3 +1,4 @@
1
- <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@coveo/push-api-client</title><meta name="description" content="Documentation for @coveo/push-api-client"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@coveo/push-api-client</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1>@coveo/push-api-client</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Enumerations</h3><ul class="tsd-index-list"><li class="tsd-kind-enum"><a href="enums/PlatformEnvironment.html" class="tsd-kind-icon">Platform<wbr/>Environment</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/Region.html" class="tsd-kind-icon">Region</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/SourceVisibility.html" class="tsd-kind-icon">Source<wbr/>Visibility</a></li></ul></section><section class="tsd-index-section "><h3>Classes</h3><ul class="tsd-index-list"><li class="tsd-kind-class"><a href="classes/AnySecurityIdentityBuilder.html" class="tsd-kind-icon">Any<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/DocumentBuilder.html" class="tsd-kind-icon">Document<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/FieldAnalyser.html" class="tsd-kind-icon">Field<wbr/>Analyser</a></li><li class="tsd-kind-class"><a href="classes/GroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/Source.html" class="tsd-kind-icon">Source</a></li><li class="tsd-kind-class"><a href="classes/UserSecurityIdentityBuilder.html" class="tsd-kind-icon">User<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/VirtualGroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Virtual<wbr/>Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li></ul></section><section class="tsd-index-section "><h3>Interfaces</h3><ul class="tsd-index-list"><li class="tsd-kind-interface"><a href="interfaces/BatchUpdateDocuments.html" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents</a></li><li class="tsd-kind-interface"><a href="interfaces/BatchUpdateDocumentsFromFiles.html" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents<wbr/>From<wbr/>Files</a></li><li class="tsd-kind-interface"><a href="interfaces/Document.html" class="tsd-kind-icon">Document</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentity.html" class="tsd-kind-icon">Security<wbr/>Identity</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentityBuilder.html" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-interface"><a href="interfaces/UploadBatchCallbackData.html" class="tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback<wbr/>Data</a></li></ul></section><section class="tsd-index-section "><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias"><a href="modules.html#CompressionType" class="tsd-kind-icon">Compression<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#Metadata" class="tsd-kind-icon">Metadata</a></li><li class="tsd-kind-type-alias"><a href="modules.html#MetadataValue" class="tsd-kind-icon">Metadata<wbr/>Value</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SecurityIdentityType" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#UploadBatchCallback" class="tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="CompressionType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Compression<wbr/>Type<a href="#CompressionType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Compression<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;UNCOMPRESSED&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;DEFLATE&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GZIP&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LZMA&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;ZLIB&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/9876053/src/document.ts#L42">src/document.ts:42</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
1
+ <!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@coveo/push-api-client</title><meta name="description" content="Documentation for @coveo/push-api-client"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@coveo/push-api-client</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1>@coveo/push-api-client</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Enumerations</h3><ul class="tsd-index-list"><li class="tsd-kind-enum"><a href="enums/PlatformEnvironment.html" class="tsd-kind-icon">Platform<wbr/>Environment</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/Region.html" class="tsd-kind-icon">Region</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/SourceVisibility.html" class="tsd-kind-icon">Source<wbr/>Visibility</a></li></ul></section><section class="tsd-index-section "><h3>Classes</h3><ul class="tsd-index-list"><li class="tsd-kind-class"><a href="classes/AnySecurityIdentityBuilder.html" class="tsd-kind-icon">Any<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/DocumentBuilder.html" class="tsd-kind-icon">Document<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/FieldAnalyser.html" class="tsd-kind-icon">Field<wbr/>Analyser</a></li><li class="tsd-kind-class"><a href="classes/GroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/PushSource.html" class="tsd-kind-icon">Push<wbr/>Source</a></li><li class="tsd-kind-class"><a href="classes/UserSecurityIdentityBuilder.html" class="tsd-kind-icon">User<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/VirtualGroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Virtual<wbr/>Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li></ul></section><section class="tsd-index-section "><h3>Interfaces</h3><ul class="tsd-index-list"><li class="tsd-kind-interface"><a href="interfaces/BatchUpdateDocuments.html" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents</a></li><li class="tsd-kind-interface"><a href="interfaces/Document.html" class="tsd-kind-icon">Document</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentity.html" class="tsd-kind-icon">Security<wbr/>Identity</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentityBuilder.html" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-interface"><a href="interfaces/UploadBatchCallbackData.html" class="tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback<wbr/>Data</a></li></ul></section><section class="tsd-index-section "><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias"><a href="modules.html#BatchUpdateDocumentsFromFiles" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents<wbr/>From<wbr/>Files</a></li><li class="tsd-kind-type-alias"><a href="modules.html#CompressionType" class="tsd-kind-icon">Compression<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#FailedUploadCallback" class="tsd-kind-icon">Failed<wbr/>Upload<wbr/>Callback</a></li><li class="tsd-kind-type-alias"><a href="modules.html#Metadata" class="tsd-kind-icon">Metadata</a></li><li class="tsd-kind-type-alias"><a href="modules.html#MetadataValue" class="tsd-kind-icon">Metadata<wbr/>Value</a></li><li class="tsd-kind-type-alias"><a href="modules.html#PlatformUrlOptions" class="tsd-kind-icon">Platform<wbr/>Url<wbr/>Options</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SecurityIdentityType" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SuccessfulUploadCallback" class="tsd-kind-icon">Successful<wbr/>Upload<wbr/>Callback</a></li></ul></section><section class="tsd-index-section "><h3>Variables</h3><ul class="tsd-index-list"><li class="tsd-kind-variable"><a href="modules.html#Source" class="tsd-kind-icon">Source</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="BatchUpdateDocumentsFromFiles" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Batch<wbr/>Update<wbr/>Documents<wbr/>From<wbr/>Files<a href="#BatchUpdateDocumentsFromFiles" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents<wbr/>From<wbr/>Files<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">BatchUpdateDocumentsOptions</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">ConcurrentProcessing</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/interfaces.ts#L41">src/interfaces.ts:41</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="CompressionType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Compression<wbr/>Type<a href="#CompressionType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Compression<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;UNCOMPRESSED&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;DEFLATE&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GZIP&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LZMA&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;ZLIB&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/document.ts#L42">src/document.ts:42</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
2
2
  <p>The compression type that was applied to your compressed document.</p>
3
- </div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="Metadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Metadata<a href="#Metadata" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Metadata<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="modules.html#MetadataValue" class="tsd-signature-type" data-tsd-kind="Type alias">MetadataValue</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/9876053/src/document.ts#L37">src/document.ts:37</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="MetadataValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Metadata<wbr/>Value<a href="#MetadataValue" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Metadata<wbr/>Value<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/9876053/src/document.ts#L36">src/document.ts:36</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="SecurityIdentityType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Security<wbr/>Identity<wbr/>Type<a href="#SecurityIdentityType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Security<wbr/>Identity<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;UNKNOWN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;USER&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GROUP&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;VIRTUAL_GROUP&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/9876053/src/document.ts#L1">src/document.ts:1</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="UploadBatchCallback" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Upload<wbr/>Batch<wbr/>Callback<a href="#UploadBatchCallback" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, data<span class="tsd-signature-symbol">: </span><a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/9876053/src/source.ts#L53">src/source.ts:53</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, data<span class="tsd-signature-symbol">: </span><a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>err: <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h5></li><li><h5>data: <a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-enum"><a href="enums/PlatformEnvironment.html" class="tsd-kind-icon">Platform<wbr/>Environment</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/Region.html" class="tsd-kind-icon">Region</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/SourceVisibility.html" class="tsd-kind-icon">Source<wbr/>Visibility</a></li><li class="tsd-kind-class"><a href="classes/AnySecurityIdentityBuilder.html" class="tsd-kind-icon">Any<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/DocumentBuilder.html" class="tsd-kind-icon">Document<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/FieldAnalyser.html" class="tsd-kind-icon">Field<wbr/>Analyser</a></li><li class="tsd-kind-class"><a href="classes/GroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/Source.html" class="tsd-kind-icon">Source</a></li><li class="tsd-kind-class"><a href="classes/UserSecurityIdentityBuilder.html" class="tsd-kind-icon">User<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/VirtualGroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Virtual<wbr/>Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-interface"><a href="interfaces/BatchUpdateDocuments.html" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents</a></li><li class="tsd-kind-interface"><a href="interfaces/BatchUpdateDocumentsFromFiles.html" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents<wbr/>From<wbr/>Files</a></li><li class="tsd-kind-interface"><a href="interfaces/Document.html" class="tsd-kind-icon">Document</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentity.html" class="tsd-kind-icon">Security<wbr/>Identity</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentityBuilder.html" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-interface"><a href="interfaces/UploadBatchCallbackData.html" class="tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback<wbr/>Data</a></li><li class="tsd-kind-type-alias"><a href="modules.html#CompressionType" class="tsd-kind-icon">Compression<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#Metadata" class="tsd-kind-icon">Metadata</a></li><li class="tsd-kind-type-alias"><a href="modules.html#MetadataValue" class="tsd-kind-icon">Metadata<wbr/>Value</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SecurityIdentityType" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#UploadBatchCallback" class="tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>
3
+ </div></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="FailedUploadCallback" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Failed<wbr/>Upload<wbr/>Callback<a href="#FailedUploadCallback" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Failed<wbr/>Upload<wbr/>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span>, value<span class="tsd-signature-symbol">: </span><a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/help/fileConsumer.ts#L13">src/help/fileConsumer.ts:13</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">unknown</span>, value<span class="tsd-signature-symbol">: </span><a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>err: <span class="tsd-signature-type">unknown</span></h5></li><li><h5>value: <a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="Metadata" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Metadata<a href="#Metadata" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Metadata<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="modules.html#MetadataValue" class="tsd-signature-type" data-tsd-kind="Type alias">MetadataValue</a><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/document.ts#L37">src/document.ts:37</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="MetadataValue" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Metadata<wbr/>Value<a href="#MetadataValue" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Metadata<wbr/>Value<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/document.ts#L36">src/document.ts:36</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="PlatformUrlOptions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Platform<wbr/>Url<wbr/>Options<a href="#PlatformUrlOptions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Platform<wbr/>Url<wbr/>Options<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>environment<span class="tsd-signature-symbol">?: </span><a href="enums/PlatformEnvironment.html" class="tsd-signature-type" data-tsd-kind="Enumeration">PlatformEnvironment</a><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">?: </span><a href="enums/Region.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Region</a><span class="tsd-signature-symbol"> }</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/environment.ts#L14">src/environment.ts:14</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> environment<span class="tsd-signature-symbol">?: </span><a href="enums/PlatformEnvironment.html" class="tsd-signature-type" data-tsd-kind="Enumeration">PlatformEnvironment</a></h5></li><li class="tsd-parameter"><h5><span class="tsd-flag ts-flagOptional">Optional</span> region<span class="tsd-signature-symbol">?: </span><a href="enums/Region.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Region</a></h5></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="SecurityIdentityType" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Security<wbr/>Identity<wbr/>Type<a href="#SecurityIdentityType" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Security<wbr/>Identity<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;UNKNOWN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;USER&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;GROUP&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;VIRTUAL_GROUP&quot;</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/document.ts#L1">src/document.ts:1</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-type-alias"><a id="SuccessfulUploadCallback" class="tsd-anchor"></a><h3 class="tsd-anchor-link">Successful<wbr/>Upload<wbr/>Callback<a href="#SuccessfulUploadCallback" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Successful<wbr/>Upload<wbr/>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/help/fileConsumer.ts#L12">src/help/fileConsumer.ts:12</a></li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>data: <a href="interfaces/UploadBatchCallbackData.html" class="tsd-signature-type" data-tsd-kind="Interface">UploadBatchCallbackData</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable"><a id="Source" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagConst">Const</span> Source<a href="#Source" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">Source<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">typeof </span><a href="classes/PushSource.html" class="tsd-signature-type" data-tsd-kind="Class">PushSource</a><span class="tsd-signature-symbol"> = PushSource</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/coveo/push-api-client.js/blob/c5b2bd6/src/source/source.ts#L6">src/source/source.ts:6</a></li></ul></aside><div class="tsd-comment tsd-typography"><dl class="tsd-comment-tags"><dt>deprecated</dt><dd><p>This class has been replaced by <a href="classes/PushSource.html">PushSource</a></p>
4
+ </dd></dl></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-enum"><a href="enums/PlatformEnvironment.html" class="tsd-kind-icon">Platform<wbr/>Environment</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/Region.html" class="tsd-kind-icon">Region</a></li><li class="tsd-kind-enum tsd-is-external"><a href="enums/SourceVisibility.html" class="tsd-kind-icon">Source<wbr/>Visibility</a></li><li class="tsd-kind-class"><a href="classes/AnySecurityIdentityBuilder.html" class="tsd-kind-icon">Any<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/DocumentBuilder.html" class="tsd-kind-icon">Document<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/FieldAnalyser.html" class="tsd-kind-icon">Field<wbr/>Analyser</a></li><li class="tsd-kind-class"><a href="classes/GroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/PushSource.html" class="tsd-kind-icon">Push<wbr/>Source</a></li><li class="tsd-kind-class"><a href="classes/UserSecurityIdentityBuilder.html" class="tsd-kind-icon">User<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-class"><a href="classes/VirtualGroupSecurityIdentityBuilder.html" class="tsd-kind-icon">Virtual<wbr/>Group<wbr/>Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-interface"><a href="interfaces/BatchUpdateDocuments.html" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents</a></li><li class="tsd-kind-interface"><a href="interfaces/Document.html" class="tsd-kind-icon">Document</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentity.html" class="tsd-kind-icon">Security<wbr/>Identity</a></li><li class="tsd-kind-interface"><a href="interfaces/SecurityIdentityBuilder.html" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Builder</a></li><li class="tsd-kind-interface"><a href="interfaces/UploadBatchCallbackData.html" class="tsd-kind-icon">Upload<wbr/>Batch<wbr/>Callback<wbr/>Data</a></li><li class="tsd-kind-type-alias"><a href="modules.html#BatchUpdateDocumentsFromFiles" class="tsd-kind-icon">Batch<wbr/>Update<wbr/>Documents<wbr/>From<wbr/>Files</a></li><li class="tsd-kind-type-alias"><a href="modules.html#CompressionType" class="tsd-kind-icon">Compression<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#FailedUploadCallback" class="tsd-kind-icon">Failed<wbr/>Upload<wbr/>Callback</a></li><li class="tsd-kind-type-alias"><a href="modules.html#Metadata" class="tsd-kind-icon">Metadata</a></li><li class="tsd-kind-type-alias"><a href="modules.html#MetadataValue" class="tsd-kind-icon">Metadata<wbr/>Value</a></li><li class="tsd-kind-type-alias"><a href="modules.html#PlatformUrlOptions" class="tsd-kind-icon">Platform<wbr/>Url<wbr/>Options</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SecurityIdentityType" class="tsd-kind-icon">Security<wbr/>Identity<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#SuccessfulUploadCallback" class="tsd-kind-icon">Successful<wbr/>Upload<wbr/>Callback</a></li><li class="tsd-kind-variable"><a href="modules.html#Source" class="tsd-kind-icon">Source</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li><li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,8DAA6D;AAC7D,4DAAgD;AAAxC,yGAAA,MAAM,OAAA;AAEd,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,kCAAW,CAAA;IACX,gCAAS,CAAA;IACT,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAEY,QAAA,mBAAmB,GAAG,mBAAmB,CAAC,IAAa,CAAC;AACxD,QAAA,cAAc,GAAG,wBAAM,CAAC,EAAW,CAAC;AAOjD,MAAM,cAAc,GAAuB;IACzC,WAAW,EAAE,2BAAmB;IAChC,MAAM,EAAE,sBAAc;CACvB,CAAC;AAEF,SAAgB,WAAW,CAAC,OAAqC;IAC/D,OAAO,mCAAO,cAAc,GAAK,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GACV,OAAO,CAAC,WAAW,KAAK,2BAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACzE,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,sBAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhE,OAAO,cAAc,MAAM,GAAG,SAAS,wCAAwC,CAAC;AAClF,CAAC;AARD,kCAQC;AAED,SAAgB,+BAA+B,CAC7C,CAAsB;IAEtB,QAAQ,CAAC,EAAE;QACT,KAAK,KAAK;YACR,OAAO,6BAAW,CAAC,GAAG,CAAC;QACzB,KAAK,IAAI;YACP,OAAO,6BAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,6BAAW,CAAC,IAAI,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,6BAAW,CAAC,KAAK,CAAC;QAC3B;YACE,OAAO,6BAAW,CAAC,IAAI,CAAC;KAC3B;AACH,CAAC;AAfD,0EAeC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,8DAA6D;AAC7D,4DAAgD;AAAxC,yGAAA,MAAM,OAAA;AAEd,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,kCAAW,CAAA;IACX,gCAAS,CAAA;IACT,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAEY,QAAA,mBAAmB,GAAG,mBAAmB,CAAC,IAAa,CAAC;AACxD,QAAA,cAAc,GAAG,wBAAM,CAAC,EAAW,CAAC;AAOjD,MAAM,cAAc,GAAuB;IACzC,WAAW,EAAE,2BAAmB;IAChC,MAAM,EAAE,sBAAc;CACvB,CAAC;AAEF,SAAgB,WAAW,CAAC,OAA4B;IACtD,OAAO,mCAAO,cAAc,GAAK,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GACV,OAAO,CAAC,WAAW,KAAK,2BAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACzE,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,KAAK,sBAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhE,OAAO,cAAc,MAAM,GAAG,SAAS,wCAAwC,CAAC;AAClF,CAAC;AARD,kCAQC;AAED,SAAgB,+BAA+B,CAC7C,CAAsB;IAEtB,QAAQ,CAAC,EAAE;QACT,KAAK,KAAK;YACR,OAAO,6BAAW,CAAC,GAAG,CAAC;QACzB,KAAK,IAAI;YACP,OAAO,6BAAW,CAAC,OAAO,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,6BAAW,CAAC,IAAI,CAAC;QAC1B,KAAK,OAAO;YACV,OAAO,6BAAW,CAAC,KAAK,CAAC;QAC3B;YACE,OAAO,6BAAW,CAAC,IAAI,CAAC;KAC3B;AACH,CAAC;AAfD,0EAeC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivilegeError = void 0;
4
+ const baseError_1 = require("./baseError");
5
+ class PrivilegeError extends baseError_1.PushApiClientBaseError {
6
+ constructor(message) {
7
+ super(message);
8
+ this.message = message;
9
+ this.name = 'Privilege Error';
10
+ }
11
+ }
12
+ exports.PrivilegeError = PrivilegeError;
13
+ //# sourceMappingURL=privilegeError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privilegeError.js","sourceRoot":"","sources":["../../src/errors/privilegeError.ts"],"names":[],"mappings":";;;AAAA,2CAAmD;AAEnD,MAAa,cAAe,SAAQ,kCAAsB;IAExD,YAA0B,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QADS,YAAO,GAAP,OAAO,CAAQ;QADlC,SAAI,GAAG,iBAAiB,CAAC;IAGhC,CAAC;CACF;AALD,wCAKC"}
@@ -2,10 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FieldAnalyser = void 0;
4
4
  const platform_client_1 = require("@coveord/platform-client");
5
- const utils_1 = require("./utils");
5
+ const fieldUtils_1 = require("./fieldUtils");
6
6
  const fieldStore_1 = require("./fieldStore");
7
7
  const inconsistencies_1 = require("./inconsistencies");
8
8
  const fieldErrors_1 = require("../errors/fieldErrors");
9
+ const typeUtils_1 = require("./typeUtils");
10
+ const apiKeyPrivilege_1 = require("../validation/preconditions/apiKeyPrivilege");
11
+ const platformPrivilege_1 = require("../validation/preconditions/platformPrivilege");
9
12
  /**
10
13
  * Analyse documents to detect type inconsistencies and missing fields in your index.
11
14
  *
@@ -14,7 +17,7 @@ class FieldAnalyser {
14
17
  constructor(platformClient) {
15
18
  this.platformClient = platformClient;
16
19
  this.inconsistencies = new inconsistencies_1.Inconsistencies();
17
- this.missingFields = new Map();
20
+ this.missingFields = new fieldStore_1.FieldStore();
18
21
  }
19
22
  /**
20
23
  * Adds a batch of document builders to the analyser
@@ -24,6 +27,7 @@ class FieldAnalyser {
24
27
  * @return {*}
25
28
  */
26
29
  async add(batch) {
30
+ await (0, apiKeyPrivilege_1.ensureNecessaryCoveoPrivileges)(this.platformClient, platformPrivilege_1.writeFieldsPrivilege);
27
31
  const existingFields = await this.ensureExistingFields();
28
32
  batch.flatMap((doc) => {
29
33
  const documentMetadata = Object.entries(Object.assign({}, doc.build().metadata));
@@ -42,30 +46,35 @@ class FieldAnalyser {
42
46
  * @return {*} {FieldAnalyserReport}
43
47
  */
44
48
  report() {
45
- const fieldStore = this.getFieldTypes();
46
- this.ensurePermanentId(fieldStore);
49
+ this.ensurePermanentId(this.missingFields);
50
+ this.removeInconsistentFields();
47
51
  return {
48
- fields: fieldStore.marshal(),
52
+ fields: this.missingFields.marshal(),
49
53
  inconsistencies: this.inconsistencies,
50
54
  };
51
55
  }
56
+ removeInconsistentFields() {
57
+ for (const fieldname of this.inconsistencies.keys()) {
58
+ this.missingFields.delete(fieldname);
59
+ }
60
+ }
52
61
  storeMetadata(metadataKey, metadataValue) {
53
- const initialTypeCount = 1;
54
- const metadataType = this.getGuessedTypeFromValue(metadataValue);
55
- const fieldTypeMap = this.missingFields.get(metadataKey);
56
- if (fieldTypeMap) {
57
- // Possible metadata inconsitency
58
- const fieldTypeCount = fieldTypeMap.get(metadataType);
59
- fieldTypeMap.set(metadataType, fieldTypeCount ? fieldTypeCount + 1 : initialTypeCount);
62
+ const alreadyGuessedType = this.missingFields.get(metadataKey);
63
+ const newGuessedType = (0, typeUtils_1.getGuessedTypeFromValue)(metadataValue);
64
+ if (!alreadyGuessedType ||
65
+ (0, typeUtils_1.isValidTypeTransition)(alreadyGuessedType, newGuessedType)) {
66
+ this.missingFields.set(metadataKey, newGuessedType);
60
67
  }
61
68
  else {
62
- const newFieldTypeMap = new Map().set(metadataType, initialTypeCount);
63
- this.missingFields.set(metadataKey, newFieldTypeMap);
69
+ this.inconsistencies.add(metadataKey, [
70
+ alreadyGuessedType,
71
+ newGuessedType,
72
+ ]);
64
73
  }
65
74
  }
66
75
  async ensureExistingFields() {
67
76
  if (this.existingFields === undefined) {
68
- this.existingFields = await (0, utils_1.listAllFieldsFromOrg)(this.platformClient);
77
+ this.existingFields = await (0, fieldUtils_1.listAllFieldsFromOrg)(this.platformClient);
69
78
  }
70
79
  return this.existingFields;
71
80
  }
@@ -81,53 +90,6 @@ class FieldAnalyser {
81
90
  fieldStore.set('permanentid', platform_client_1.FieldTypes.STRING);
82
91
  }
83
92
  }
84
- getFieldTypes() {
85
- const fieldStore = new fieldStore_1.FieldStore();
86
- this.missingFields.forEach((fieldTypeMap, fieldName) => {
87
- this.storePossibleTypeInconsistencies(fieldName, fieldTypeMap);
88
- const fieldType = this.getMostProbableType(fieldTypeMap);
89
- fieldStore.set(fieldName, fieldType);
90
- });
91
- return fieldStore;
92
- }
93
- storePossibleTypeInconsistencies(fieldName, fieldTypeMap) {
94
- if (fieldTypeMap.size > 1) {
95
- const fieldTypes = Array.from(fieldTypeMap.keys());
96
- this.inconsistencies.add(fieldName, fieldTypes);
97
- }
98
- }
99
- getMostProbableType(field) {
100
- const sortedType = Array.from(field.entries()).sort((a, b) => {
101
- const countDiff = b[1] - a[1];
102
- return countDiff ? countDiff : this.typeCompare(a[0], b[0]);
103
- });
104
- return sortedType[0][0];
105
- }
106
- typeCompare(field1, field2) {
107
- const precedence = (field) => FieldAnalyser.fieldTypePrecedence.indexOf(field);
108
- if (precedence(field1) < precedence(field2)) {
109
- return 1;
110
- }
111
- if (precedence(field1) > precedence(field2)) {
112
- return -1;
113
- }
114
- return 0;
115
- }
116
- getGuessedTypeFromValue(obj) {
117
- switch (typeof obj) {
118
- case 'number':
119
- return this.getSpecificNumericType(obj);
120
- case 'string':
121
- return platform_client_1.FieldTypes.STRING;
122
- default:
123
- return platform_client_1.FieldTypes.STRING;
124
- }
125
- }
126
- getSpecificNumericType(_number) {
127
- // TODO: CDX-838 Support LONG, LONG32 and DATE types
128
- return platform_client_1.FieldTypes.DOUBLE;
129
- }
130
93
  }
131
94
  exports.FieldAnalyser = FieldAnalyser;
132
- FieldAnalyser.fieldTypePrecedence = ['DOUBLE', 'STRING'];
133
95
  //# sourceMappingURL=fieldAnalyser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fieldAnalyser.js","sourceRoot":"","sources":["../../src/fieldAnalyser/fieldAnalyser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldAnalyser.js","sourceRoot":"","sources":["../../src/fieldAnalyser/fieldAnalyser.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ const buildDocument = (metadata) => {
13
13
  return doc;
14
14
  };
15
15
  const docWithNewFields = buildDocument({
16
- promo_price: 23.13,
16
+ some_integer: 100,
17
+ promo_price: 23.99,
17
18
  description: 'Plumbus can generate and store vast amounts of heat, allowing it to be used for cooking, ironing or just heating the room.',
18
19
  additional_info: 'Plumbus can secrete various agents from itself and has adaptive rubbing surfaces, making it useful for cleaning.',
19
20
  price: 'six-and-a-half Brapples',
@@ -33,6 +34,7 @@ describe('FieldAnalyser', () => {
33
34
  let analyser;
34
35
  const mockedPlatformClient = jest.mocked(platform_client_1.default);
35
36
  const mockedListFields = jest.fn();
37
+ const mockEvaluate = jest.fn();
36
38
  const mockListFieldsWithValidPermanentId = () => {
37
39
  mockedListFields
38
40
  .mockResolvedValueOnce({
@@ -62,6 +64,7 @@ describe('FieldAnalyser', () => {
62
64
  };
63
65
  const doMockPlatformClient = () => {
64
66
  mockedPlatformClient.mockImplementation(() => ({
67
+ privilegeEvaluator: { evaluate: mockEvaluate },
65
68
  field: { list: mockedListFields },
66
69
  }));
67
70
  };
@@ -69,9 +72,20 @@ describe('FieldAnalyser', () => {
69
72
  doMockPlatformClient();
70
73
  });
71
74
  beforeEach(() => {
75
+ mockEvaluate.mockResolvedValue({ approved: true });
72
76
  mockedListFields.mockReset();
73
77
  analyser = new fieldAnalyser_1.FieldAnalyser(dummyPlatformClient());
74
78
  });
79
+ describe('when client is not allowed to create fields', () => {
80
+ beforeEach(async () => {
81
+ mockEvaluate.mockReset();
82
+ mockListFieldsWithValidPermanentId();
83
+ });
84
+ it('should throw an error', async () => {
85
+ mockEvaluate.mockResolvedValue({ approved: false });
86
+ await expect(analyser.add([docWithExistingFields])).rejects.toThrow();
87
+ });
88
+ });
75
89
  describe('when fields from the batch already exist in the org', () => {
76
90
  let report;
77
91
  beforeEach(async () => {
@@ -94,6 +108,10 @@ describe('FieldAnalyser', () => {
94
108
  const docBuilders = [docWithNewFields, docWithExistingFields];
95
109
  const { fields } = (await analyser.add(docBuilders)).report();
96
110
  expect(fields).toStrictEqual([
111
+ {
112
+ name: 'some_integer',
113
+ type: 'LONG',
114
+ },
97
115
  {
98
116
  name: 'promo_price',
99
117
  type: 'DOUBLE',
@@ -135,10 +153,14 @@ describe('FieldAnalyser', () => {
135
153
  it('should detect type inconsistencies', () => {
136
154
  const inconsistenciesSet = report.inconsistencies;
137
155
  expect(inconsistenciesSet.get('price')).toStrictEqual(new Set(['DOUBLE', 'STRING']));
138
- expect(inconsistenciesSet.get('available')).toStrictEqual(new Set(['DOUBLE', 'STRING']));
156
+ expect(inconsistenciesSet.get('available')).toStrictEqual(new Set(['LONG', 'STRING']));
139
157
  });
140
158
  it('should still provide fields to create', () => {
141
159
  expect(report.fields).toStrictEqual([
160
+ {
161
+ name: 'some_integer',
162
+ type: 'LONG',
163
+ },
142
164
  {
143
165
  name: 'promo_price',
144
166
  type: 'DOUBLE',
@@ -151,28 +173,12 @@ describe('FieldAnalyser', () => {
151
173
  name: 'additional_info',
152
174
  type: 'STRING',
153
175
  },
154
- {
155
- name: 'price',
156
- type: 'STRING',
157
- },
158
- {
159
- name: 'available',
160
- type: 'DOUBLE',
161
- },
162
176
  ]);
163
177
  });
164
- it('should associate to a field a type based on the type precedence list', () => {
165
- // In this scenario, there were equal amount of occurences of numeric string values for the same metadata
166
- expect(report.fields).toContainEqual({
167
- name: 'price',
168
- type: 'STRING',
169
- });
170
- });
171
- it('should associate to a field a type with the most occurences', () => {
172
- // In this scenario, there were 2 occurences of numeric value and 1 occurence of string value for the same metadata
173
- expect(report.fields).toContainEqual({
174
- name: 'available',
175
- type: 'DOUBLE',
178
+ it('should not return fields with inconsistencies', () => {
179
+ report.fields.forEach((field) => {
180
+ expect(field.name).not.toEqual('available');
181
+ expect(field.name).not.toEqual('price');
176
182
  });
177
183
  });
178
184
  });
@@ -1 +1 @@
1
- {"version":3,"file":"fieldAnalyser.spec.js","sourceRoot":"","sources":["../../src/fieldAnalyser/fieldAnalyser.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldAnalyser.spec.js","sourceRoot":"","sources":["../../src/fieldAnalyser/fieldAnalyser.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFields = exports.listAllFieldsFromOrg = void 0;
4
+ const apiKeyPrivilege_1 = require("../validation/preconditions/apiKeyPrivilege");
5
+ const platformPrivilege_1 = require("../validation/preconditions/platformPrivilege");
4
6
  const listAllFieldsFromOrg = async (client, page = 0, fields = []) => {
7
+ await (0, apiKeyPrivilege_1.ensureNecessaryCoveoPrivileges)(client, platformPrivilege_1.readFieldsPrivilege);
5
8
  const list = await client.field.list({
6
9
  page,
7
10
  perPage: 1000,
@@ -14,10 +17,11 @@ const listAllFieldsFromOrg = async (client, page = 0, fields = []) => {
14
17
  };
15
18
  exports.listAllFieldsFromOrg = listAllFieldsFromOrg;
16
19
  const createFields = async (client, fields, fieldBatch = 500) => {
20
+ await (0, apiKeyPrivilege_1.ensureNecessaryCoveoPrivileges)(client, platformPrivilege_1.writeFieldsPrivilege);
17
21
  for (let i = 0; i < fields.length; i += fieldBatch) {
18
22
  const batch = fields.slice(i, fieldBatch + i);
19
23
  await client.field.createFields(batch);
20
24
  }
21
25
  };
22
26
  exports.createFields = createFields;
23
- //# sourceMappingURL=utils.js.map
27
+ //# sourceMappingURL=fieldUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldUtils.js","sourceRoot":"","sources":["../../src/fieldAnalyser/fieldUtils.ts"],"names":[],"mappings":";;;AACA,iFAA2F;AAC3F,qFAGuD;AAEhD,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAsB,EACtB,IAAI,GAAG,CAAC,EACR,SAAuB,EAAE,EACF,EAAE;IACzB,MAAM,IAAA,gDAA8B,EAAC,MAAM,EAAE,uCAAmB,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QACnC,IAAI;QACJ,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3B,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;QAC9B,OAAO,IAAA,4BAAoB,EAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;KACvD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,oBAAoB,wBAkB/B;AAEK,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAsB,EACtB,MAAoB,EACpB,UAAU,GAAG,GAAG,EAChB,EAAE;IACF,MAAM,IAAA,gDAA8B,EAAC,MAAM,EAAE,wCAAoB,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QAC9C,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KACxC;AACH,CAAC,CAAC;AAVW,QAAA,YAAY,gBAUvB"}
@@ -2,15 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  jest.mock('@coveord/platform-client');
4
4
  const platform_client_1 = require("@coveord/platform-client");
5
- const utils_1 = require("./utils");
5
+ const fieldUtils_1 = require("./fieldUtils");
6
6
  const mockedPlatformClient = jest.mocked(platform_client_1.default);
7
7
  const mockedCreateField = jest.fn();
8
8
  const mockedListFields = jest.fn();
9
+ const mockEvaluate = jest.fn();
9
10
  const dummyPlatformClient = () => {
10
11
  return new platform_client_1.default({ accessToken: 'xxx' });
11
12
  };
12
13
  const doMockPlatformClient = () => {
13
14
  mockedPlatformClient.mockImplementation(() => ({
15
+ privilegeEvaluator: { evaluate: mockEvaluate },
14
16
  field: {
15
17
  createFields: mockedCreateField,
16
18
  list: mockedListFields,
@@ -24,6 +26,7 @@ describe('fieldUtils', () => {
24
26
  });
25
27
  beforeEach(async () => {
26
28
  client = dummyPlatformClient();
29
+ mockEvaluate.mockResolvedValue({ approved: true });
27
30
  });
28
31
  describe('when listing fields', () => {
29
32
  beforeEach(async () => {
@@ -36,7 +39,7 @@ describe('fieldUtils', () => {
36
39
  items: [{ name: 'type' }],
37
40
  totalPages: 2,
38
41
  });
39
- await (0, utils_1.listAllFieldsFromOrg)(client);
42
+ await (0, fieldUtils_1.listAllFieldsFromOrg)(client);
40
43
  });
41
44
  it('should list all fields from org', async () => {
42
45
  expect(mockedListFields).toHaveBeenCalledTimes(2);
@@ -68,7 +71,7 @@ describe('fieldUtils', () => {
68
71
  batches: [['field1', 'field2', 'field3', 'field4', 'field5', 'field6']],
69
72
  },
70
73
  ])('should split fields into smaller batches', async ({ batchLimit, batches }) => {
71
- await (0, utils_1.createFields)(client, fields, batchLimit);
74
+ await (0, fieldUtils_1.createFields)(client, fields, batchLimit);
72
75
  expect(mockedCreateField).toHaveBeenCalledTimes(batches.length);
73
76
  batches.forEach((batch, index) => {
74
77
  const field = batch.map((f) => ({
@@ -79,4 +82,4 @@ describe('fieldUtils', () => {
79
82
  });
80
83
  });
81
84
  });
82
- //# sourceMappingURL=utils.spec.js.map
85
+ //# sourceMappingURL=fieldsUtils.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldsUtils.spec.js","sourceRoot":"","sources":["../../src/fieldAnalyser/fieldsUtils.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inconsistencies.js","sourceRoot":"","sources":["../../src/fieldAnalyser/inconsistencies.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAgB,SAAQ,GAAG;IACtC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,GAAG,CAAC,SAAiB,EAAE,KAAmB;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAa,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAVD,0CAUC"}
1
+ {"version":3,"file":"inconsistencies.js","sourceRoot":"","sources":["../../src/fieldAnalyser/inconsistencies.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAgB,SAAQ,GAA4B;IAC/D;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,GAAG,CAAC,SAAiB,EAAE,KAAmB;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAa,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAVD,0CAUC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGuessedTypeFromValue = exports.isValidTypeTransition = void 0;
4
+ const platform_client_1 = require("@coveord/platform-client");
5
+ const acceptedTransitions = [
6
+ { from: platform_client_1.FieldTypes.LONG, to: [platform_client_1.FieldTypes.LONG_64, platform_client_1.FieldTypes.DOUBLE] },
7
+ { from: platform_client_1.FieldTypes.LONG_64, to: [platform_client_1.FieldTypes.DOUBLE] },
8
+ ];
9
+ function isValidTypeTransition(currentState, nextState) {
10
+ var _a;
11
+ if (currentState === nextState) {
12
+ return true;
13
+ }
14
+ const differentStateTransition = (_a = acceptedTransitions
15
+ .find((a) => a.from === currentState)) === null || _a === void 0 ? void 0 : _a.to.includes(nextState);
16
+ return Boolean(differentStateTransition);
17
+ }
18
+ exports.isValidTypeTransition = isValidTypeTransition;
19
+ function getGuessedTypeFromValue(obj) {
20
+ switch (typeof obj) {
21
+ case 'number':
22
+ return getSpecificNumericType(obj);
23
+ case 'string':
24
+ return platform_client_1.FieldTypes.STRING;
25
+ default:
26
+ return platform_client_1.FieldTypes.STRING;
27
+ }
28
+ }
29
+ exports.getGuessedTypeFromValue = getGuessedTypeFromValue;
30
+ function getSpecificNumericType(number) {
31
+ const is32BitInteger = (x) => (x | 0) === x;
32
+ if (Number.isInteger(number)) {
33
+ return is32BitInteger(number) ? platform_client_1.FieldTypes.LONG : platform_client_1.FieldTypes.LONG_64;
34
+ }
35
+ else {
36
+ return platform_client_1.FieldTypes.DOUBLE;
37
+ }
38
+ }
39
+ //# sourceMappingURL=typeUtils.js.map