@ndustrial/contxt-sdk 5.5.6 → 5.6.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 (233) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +6 -0
  3. package/eslint.config.mjs +44 -0
  4. package/esm/bus/channels.js +1883 -216
  5. package/esm/bus/channels.js.map +1 -1
  6. package/esm/bus/index.browser.js +218 -37
  7. package/esm/bus/index.browser.js.map +1 -1
  8. package/esm/bus/index.js +906 -94
  9. package/esm/bus/index.js.map +1 -1
  10. package/esm/bus/webSocketConnection.browser.js +86 -12
  11. package/esm/bus/webSocketConnection.browser.js.map +1 -1
  12. package/esm/bus/webSocketConnection.js +2464 -332
  13. package/esm/bus/webSocketConnection.js.map +1 -1
  14. package/esm/config/audiences.js +37 -1
  15. package/esm/config/audiences.js.map +1 -1
  16. package/esm/config/defaults.js +37 -1
  17. package/esm/config/defaults.js.map +1 -1
  18. package/esm/config/index.js +1622 -203
  19. package/esm/config/index.js.map +1 -1
  20. package/esm/coordinator/applications.js +1019 -172
  21. package/esm/coordinator/applications.js.map +1 -1
  22. package/esm/coordinator/consent.js +603 -76
  23. package/esm/coordinator/consent.js.map +1 -1
  24. package/esm/coordinator/edgeNodes.js +520 -40
  25. package/esm/coordinator/edgeNodes.js.map +1 -1
  26. package/esm/coordinator/index.js +811 -54
  27. package/esm/coordinator/index.js.map +1 -1
  28. package/esm/coordinator/organizations.js +533 -60
  29. package/esm/coordinator/organizations.js.map +1 -1
  30. package/esm/coordinator/permissions.js +914 -107
  31. package/esm/coordinator/permissions.js.map +1 -1
  32. package/esm/coordinator/roles.js +2146 -258
  33. package/esm/coordinator/roles.js.map +1 -1
  34. package/esm/coordinator/users.js +3393 -484
  35. package/esm/coordinator/users.js.map +1 -1
  36. package/esm/events/index.js +2301 -393
  37. package/esm/events/index.js.map +1 -1
  38. package/esm/files/index.js +2053 -410
  39. package/esm/files/index.js.map +1 -1
  40. package/esm/index.js +1002 -148
  41. package/esm/index.js.map +1 -1
  42. package/esm/iot/feedTypes.js +188 -25
  43. package/esm/iot/feedTypes.js.map +1 -1
  44. package/esm/iot/feeds.js +420 -59
  45. package/esm/iot/feeds.js.map +1 -1
  46. package/esm/iot/fieldCategories.js +1172 -195
  47. package/esm/iot/fieldCategories.js.map +1 -1
  48. package/esm/iot/fieldGroupings.js +1689 -255
  49. package/esm/iot/fieldGroupings.js.map +1 -1
  50. package/esm/iot/fields.js +254 -28
  51. package/esm/iot/fields.js.map +1 -1
  52. package/esm/iot/index.js +212 -34
  53. package/esm/iot/index.js.map +1 -1
  54. package/esm/iot/outputs.js +320 -31
  55. package/esm/iot/outputs.js.map +1 -1
  56. package/esm/nionic/index.js +1097 -97
  57. package/esm/nionic/index.js.map +1 -1
  58. package/esm/request.js +1313 -221
  59. package/esm/request.js.map +1 -1
  60. package/esm/sessionTypes/auth0WebAuth.js +3395 -409
  61. package/esm/sessionTypes/auth0WebAuth.js.map +1 -1
  62. package/esm/sessionTypes/index.js +213 -22
  63. package/esm/sessionTypes/index.js.map +1 -1
  64. package/esm/sessionTypes/machineAuth.js +1314 -144
  65. package/esm/sessionTypes/machineAuth.js.map +1 -1
  66. package/esm/sessionTypes/passwordGrantAuth.js +1060 -145
  67. package/esm/sessionTypes/passwordGrantAuth.js.map +1 -1
  68. package/esm/utils/events/formatEventUpdateToServer.js +107 -4
  69. package/esm/utils/events/formatEventUpdateToServer.js.map +1 -1
  70. package/esm/utils/events/index.js +54 -2
  71. package/esm/utils/events/index.js.map +1 -1
  72. package/esm/utils/iot/formatOutputFieldDataFromServer.js +227 -14
  73. package/esm/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  74. package/esm/utils/iot/index.js +56 -3
  75. package/esm/utils/iot/index.js.map +1 -1
  76. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js +207 -7
  77. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  78. package/esm/utils/objects/createCaseChangeFn.js +449 -18
  79. package/esm/utils/objects/createCaseChangeFn.js.map +1 -1
  80. package/esm/utils/objects/index.js +56 -3
  81. package/esm/utils/objects/index.js.map +1 -1
  82. package/esm/utils/objects/map.js +520 -26
  83. package/esm/utils/objects/map.js.map +1 -1
  84. package/esm/utils/objects/toCamelCase.js +39 -3
  85. package/esm/utils/objects/toCamelCase.js.map +1 -1
  86. package/esm/utils/objects/toSnakeCase.js +39 -3
  87. package/esm/utils/objects/toSnakeCase.js.map +1 -1
  88. package/esm/utils/pagination/formatPaginatedDataFromServer.js +268 -11
  89. package/esm/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  90. package/esm/utils/pagination/index.js +54 -2
  91. package/esm/utils/pagination/index.js.map +1 -1
  92. package/esm/utils/url/index.js +47 -2
  93. package/esm/utils/url/index.js.map +1 -1
  94. package/esm/utils/url/stringifyParams.js +176 -10
  95. package/esm/utils/url/stringifyParams.js.map +1 -1
  96. package/lib/bus/channels.js +1880 -223
  97. package/lib/bus/channels.js.map +1 -1
  98. package/lib/bus/index.browser.js +215 -43
  99. package/lib/bus/index.browser.js.map +1 -1
  100. package/lib/bus/index.js +903 -106
  101. package/lib/bus/index.js.map +1 -1
  102. package/lib/bus/webSocketConnection.browser.js +83 -15
  103. package/lib/bus/webSocketConnection.browser.js.map +1 -1
  104. package/lib/bus/webSocketConnection.js +2461 -339
  105. package/lib/bus/webSocketConnection.js.map +1 -1
  106. package/lib/config/audiences.js +33 -2
  107. package/lib/config/audiences.js.map +1 -1
  108. package/lib/config/defaults.js +33 -2
  109. package/lib/config/defaults.js.map +1 -1
  110. package/lib/config/index.js +1619 -212
  111. package/lib/config/index.js.map +1 -1
  112. package/lib/coordinator/applications.js +1016 -174
  113. package/lib/coordinator/applications.js.map +1 -1
  114. package/lib/coordinator/consent.js +600 -78
  115. package/lib/coordinator/consent.js.map +1 -1
  116. package/lib/coordinator/edgeNodes.js +517 -42
  117. package/lib/coordinator/edgeNodes.js.map +1 -1
  118. package/lib/coordinator/index.js +808 -78
  119. package/lib/coordinator/index.js.map +1 -1
  120. package/lib/coordinator/organizations.js +530 -62
  121. package/lib/coordinator/organizations.js.map +1 -1
  122. package/lib/coordinator/permissions.js +911 -109
  123. package/lib/coordinator/permissions.js.map +1 -1
  124. package/lib/coordinator/roles.js +2143 -260
  125. package/lib/coordinator/roles.js.map +1 -1
  126. package/lib/coordinator/users.js +3389 -489
  127. package/lib/coordinator/users.js.map +1 -1
  128. package/lib/events/index.js +2297 -404
  129. package/lib/events/index.js.map +1 -1
  130. package/lib/files/index.js +2050 -418
  131. package/lib/files/index.js.map +1 -1
  132. package/lib/index.js +999 -183
  133. package/lib/index.js.map +1 -1
  134. package/lib/iot/feedTypes.js +185 -27
  135. package/lib/iot/feedTypes.js.map +1 -1
  136. package/lib/iot/feeds.js +417 -61
  137. package/lib/iot/feeds.js.map +1 -1
  138. package/lib/iot/fieldCategories.js +1169 -203
  139. package/lib/iot/fieldCategories.js.map +1 -1
  140. package/lib/iot/fieldGroupings.js +1686 -263
  141. package/lib/iot/fieldGroupings.js.map +1 -1
  142. package/lib/iot/fields.js +251 -30
  143. package/lib/iot/fields.js.map +1 -1
  144. package/lib/iot/index.js +209 -55
  145. package/lib/iot/index.js.map +1 -1
  146. package/lib/iot/outputs.js +317 -34
  147. package/lib/iot/outputs.js.map +1 -1
  148. package/lib/nionic/index.js +1094 -98
  149. package/lib/nionic/index.js.map +1 -1
  150. package/lib/request.js +1310 -228
  151. package/lib/request.js.map +1 -1
  152. package/lib/sessionTypes/auth0WebAuth.js +3391 -421
  153. package/lib/sessionTypes/auth0WebAuth.js.map +1 -1
  154. package/lib/sessionTypes/index.js +209 -26
  155. package/lib/sessionTypes/index.js.map +1 -1
  156. package/lib/sessionTypes/machineAuth.js +1311 -151
  157. package/lib/sessionTypes/machineAuth.js.map +1 -1
  158. package/lib/sessionTypes/passwordGrantAuth.js +1057 -156
  159. package/lib/sessionTypes/passwordGrantAuth.js.map +1 -1
  160. package/lib/utils/events/formatEventUpdateToServer.js +102 -4
  161. package/lib/utils/events/formatEventUpdateToServer.js.map +1 -1
  162. package/lib/utils/events/index.js +51 -10
  163. package/lib/utils/events/index.js.map +1 -1
  164. package/lib/utils/iot/formatOutputFieldDataFromServer.js +224 -18
  165. package/lib/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  166. package/lib/utils/iot/index.js +53 -15
  167. package/lib/utils/iot/index.js.map +1 -1
  168. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js +203 -13
  169. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  170. package/lib/utils/objects/createCaseChangeFn.js +446 -25
  171. package/lib/utils/objects/createCaseChangeFn.js.map +1 -1
  172. package/lib/utils/objects/index.js +53 -15
  173. package/lib/utils/objects/index.js.map +1 -1
  174. package/lib/utils/objects/map.js +517 -33
  175. package/lib/utils/objects/map.js.map +1 -1
  176. package/lib/utils/objects/toCamelCase.js +36 -11
  177. package/lib/utils/objects/toCamelCase.js.map +1 -1
  178. package/lib/utils/objects/toSnakeCase.js +36 -11
  179. package/lib/utils/objects/toSnakeCase.js.map +1 -1
  180. package/lib/utils/pagination/formatPaginatedDataFromServer.js +265 -14
  181. package/lib/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  182. package/lib/utils/pagination/index.js +51 -10
  183. package/lib/utils/pagination/index.js.map +1 -1
  184. package/lib/utils/url/index.js +44 -7
  185. package/lib/utils/url/index.js.map +1 -1
  186. package/lib/utils/url/stringifyParams.js +172 -18
  187. package/lib/utils/url/stringifyParams.js.map +1 -1
  188. package/package.json +31 -35
  189. package/src/bus/channels.js +6 -6
  190. package/src/bus/channels.spec.js +1 -1
  191. package/src/coordinator/applications.js +7 -7
  192. package/src/coordinator/applications.spec.js +1 -1
  193. package/src/coordinator/consent.js +3 -3
  194. package/src/coordinator/edgeNodes.js +3 -3
  195. package/src/coordinator/edgeNodes.spec.js +1 -1
  196. package/src/coordinator/organizations.js +4 -4
  197. package/src/coordinator/organizations.spec.js +1 -1
  198. package/src/coordinator/permissions.js +6 -6
  199. package/src/coordinator/permissions.spec.js +1 -1
  200. package/src/coordinator/roles.js +9 -9
  201. package/src/coordinator/roles.spec.js +1 -1
  202. package/src/coordinator/users.js +12 -12
  203. package/src/coordinator/users.spec.js +1 -1
  204. package/src/events/index.js +18 -18
  205. package/src/events/index.spec.js +3 -3
  206. package/src/files/index.js +9 -9
  207. package/src/files/index.spec.js +2 -2
  208. package/src/index.js +3 -1
  209. package/src/iot/feedTypes.js +2 -2
  210. package/src/iot/feeds.js +4 -4
  211. package/src/iot/feeds.spec.js +1 -1
  212. package/src/iot/fieldCategories.js +10 -10
  213. package/src/iot/fieldCategories.spec.js +2 -2
  214. package/src/iot/fieldGroupings.js +10 -10
  215. package/src/iot/fieldGroupings.spec.js +2 -2
  216. package/src/iot/fields.js +2 -2
  217. package/src/iot/fields.spec.js +1 -1
  218. package/src/iot/outputs.js +2 -2
  219. package/src/iot/outputs.spec.js +1 -1
  220. package/src/request.js +2 -4
  221. package/src/request.spec.js +1 -1
  222. package/src/sessionTypes/auth0WebAuth.spec.js +1 -1
  223. package/src/utils/events/index.js +2 -1
  224. package/src/utils/iot/formatOutputFieldDataFromServer.js +5 -5
  225. package/src/utils/iot/formatOutputFieldDataFromServer.spec.js +2 -2
  226. package/src/utils/iot/index.js +2 -1
  227. package/src/utils/iot/parseOutputFieldNextPageUrlMetadata.js +3 -1
  228. package/src/utils/objects/index.js +2 -1
  229. package/src/utils/pagination/formatPaginatedDataFromServer.js +3 -3
  230. package/src/utils/pagination/formatPaginatedDataFromServer.spec.js +1 -1
  231. package/src/utils/pagination/index.js +2 -1
  232. package/support/mocharc.yml +1 -1
  233. package/.eslintrc +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["files/index.js"],"names":["axios","toCamelCase","toSnakeCase","formatPaginatedDataFromServer","Files","sdk","request","baseUrl","config","audiences","files","host","_baseUrl","_request","_sdk","fileInfo","requiredFields","i","length","Promise","reject","Error","post","then","upload_info","createdFile","uploadInfo","deep","excludeTransform","_generateError","message","stage","data","metadata","create","catch","originalError","resolve","upload","headers","url","setUploadFailed","id","setUploadComplete","get","fileId","delete","file","filesFilters","params","assetsData","put","artifacts","errorMsg","Object","assign"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,kBAAzC;AACA,SAASC,6BAAT,QAA8C,qBAA9C;;AAEA;;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;;;;;AAQA;;;;;;;;;;;;;;;;;AAiBA;;;;;;;;;;;;;;;;;AAiBA;;;;;;;;IAOMC,K;AACJ;;;;AAIA,iBAAYC,GAAZ,EAAiBC,OAAjB,EAA0B;AAAA;;AACxB,QAAMC,UAAaF,IAAIG,MAAJ,CAAWC,SAAX,CAAqBC,KAArB,CAA2BC,IAAxC,QAAN;;AAEA,SAAKC,QAAL,GAAgBL,OAAhB;AACA,SAAKM,QAAL,GAAgBP,OAAhB;AACA,SAAKQ,IAAL,GAAYT,GAAZ;AACD;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA6BOU,Q,EAAU;AACf,UAAMC,iBAAiB,CAAC,aAAD,EAAgB,UAAhB,EAA4B,gBAA5B,CAAvB;;AAEA,WAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAID,eAAeE,MAAnC,EAA2CD,GAA3C,EAAgD;AAC9C,YAAI,CAACF,SAASC,eAAeC,CAAf,CAAT,CAAL,EAAkC;AAChC,iBAAOE,QAAQC,MAAR,CACL,IAAIC,KAAJ,QAAeL,eAAeC,CAAf,CAAf,mCADK,CAAP;AAGD;AACF;;AAED,aAAO,KAAKJ,QAAL,CACJS,IADI,CACI,KAAKV,QADT,aAC2BV,YAAYa,QAAZ,CAD3B,EAEJQ,IAFI,CAEC,gBAAqC;AAAA,YAAlCC,WAAkC,QAAlCA,WAAkC;AAAA,YAAlBC,WAAkB;;AACzC,4BACKxB,YAAYwB,WAAZ,CADL;AAEEC,sBAAYzB,YAAYuB,WAAZ,EAAyB;AACnCG,kBAAM,KAD6B;AAEnCC,8BAAkB,CAAC,SAAD;AAFiB,WAAzB;AAFd;AAOD,OAVI,CAAP;AAWD;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA2CgBb,Q,EAAU;AAAA;;AACxB,UAAMC,iBAAiB,CAAC,MAAD,EAAS,UAAT,CAAvB;;AAEA,WAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAID,eAAeE,MAAnC,EAA2CD,GAA3C,EAAgD;AAC9C,YAAI,CAACF,SAASC,eAAeC,CAAf,CAAT,CAAL,EAAkC;AAChC,iBAAOE,QAAQC,MAAR,CACL,KAAKS,cAAL,CAAoB;AAClBC,6BACEd,eAAeC,CAAf,CADF,oDADkB;AAIlBc,mBAAO;AAJW,WAApB,CADK,CAAP;AAQD;AACF;;AAduB,UAgBhBC,IAhBgB,GAgBGjB,QAhBH,CAgBhBiB,IAhBgB;AAAA,UAgBVC,QAhBU,GAgBGlB,QAhBH,CAgBVkB,QAhBU;;;AAkBxB,aAAO,KAAKC,MAAL,CAAYD,QAAZ,EACJE,KADI,CACE,UAACC,aAAD,EAAmB;AACxB,cAAM,MAAKP,cAAL,CAAoB;AACxBO,sCADwB;AAExBN,mBAAS,0DAFe;AAGxBC,iBAAO;AAHiB,SAApB,CAAN;AAKD,OAPI,EAQJR,IARI,CAQC,iBAAoC;AAAA,YAAjCG,UAAiC,SAAjCA,UAAiC;AAAA,YAAlBD,WAAkB;;AACxC,eAAON,QAAQkB,OAAR,GACJd,IADI,CACC,YAAM;AACV,iBAAO,MAAKe,MAAL,CAAY;AACjBN,sBADiB;AAEjBO,qBAASb,WAAWa,OAFH;AAGjBC,iBAAKd,WAAWc;AAHC,WAAZ,EAIJL,KAJI,CAIE,UAACC,aAAD,EAAmB;AAC1B,kBAAKK,eAAL,CAAqBhB,YAAYiB,EAAjC;;AAEA,kBAAM,MAAKb,cAAL,CAAoB;AACxBJ,sCADwB;AAExBW,0CAFwB;AAGxBN,uBACE,2DAJsB;AAKxBC,qBAAO;AALiB,aAApB,CAAN;AAOD,WAdM,CAAP;AAeD,SAjBI,EAkBJR,IAlBI,CAkBC,YAAM;AACV,iBAAO,MAAKoB,iBAAL,CAAuBlB,YAAYiB,EAAnC,EAAuCP,KAAvC,CACL,UAACC,aAAD,EAAmB;AACjB,kBAAM,MAAKP,cAAL,CAAoB;AACxBJ,sCADwB;AAExBW,0CAFwB;AAGxBN,uBACE,iEAJsB;AAKxBC,qBAAO;AALiB,aAApB,CAAN;AAOD,WATI,CAAP;AAWD,SA9BI,EA+BJR,IA/BI,CA+BC,YAAM;AACV,iBAAO,MAAKqB,GAAL,CAASnB,YAAYiB,EAArB,EAAyBP,KAAzB,CAA+B,UAACC,aAAD,EAAmB;AACvD,kBAAM,MAAKP,cAAL,CAAoB;AACxBJ,sCADwB;AAExBW,0CAFwB;AAGxBN,uBACE,mFAJsB;AAKxBC,qBAAO;AALiB,aAApB,CAAN;AAOD,WARM,CAAP;AASD,SAzCI,CAAP;AA0CD,OAnDI,CAAP;AAoDD;;AAED;;;;;;;;;;;;;;;;;;4BAeOc,M,EAAQ;AACb,UAAI,CAACA,MAAL,EAAa;AACX,eAAO1B,QAAQC,MAAR,CACL,IAAIC,KAAJ,CAAU,wCAAV,CADK,CAAP;AAGD;;AAED,aAAO,KAAKR,QAAL,CAAciC,MAAd,CAAwB,KAAKlC,QAA7B,eAA+CiC,MAA/C,CAAP;AACD;;AAED;;;;;;;;;;;;;;;;;;;;;6BAkBSA,M,EAAQ;AACf,UAAI,CAACA,MAAL,EAAa;AACX,eAAO1B,QAAQC,MAAR,CACL,IAAIC,KAAJ,CAAU,8CAAV,CADK,CAAP;AAGD;;AAED,aAAO,KAAKR,QAAL,CACJ+B,GADI,CACG,KAAKhC,QADR,eAC0BiC,MAD1B,gBAEJtB,IAFI,CAEC,UAACwB,IAAD;AAAA,eAAU9C,YAAY8C,IAAZ,CAAV;AAAA,OAFD,CAAP;AAGD;;AAED;;;;;;;;;;;;;;;;;;;;;wBAkBIF,M,EAAQ;AACV,UAAI,CAACA,MAAL,EAAa;AACX,eAAO1B,QAAQC,MAAR,CACL,IAAIC,KAAJ,CAAU,4DAAV,CADK,CAAP;AAGD;;AAED,aAAO,KAAKR,QAAL,CACJ+B,GADI,CACG,KAAKhC,QADR,eAC0BiC,MAD1B,EAEJtB,IAFI,CAEC,UAACwB,IAAD;AAAA,eAAU9C,YAAY8C,IAAZ,CAAV;AAAA,OAFD,CAAP;AAGD;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAwBOC,Y,EAAc;AACnB,aAAO,KAAKnC,QAAL,CACJ+B,GADI,CACG,KAAKhC,QADR,aAC0B;AAC7BqC,gBAAQ/C,YAAY8C,YAAZ;AADqB,OAD1B,EAIJzB,IAJI,CAIC,UAAC2B,UAAD;AAAA,eAAgB/C,8BAA8B+C,UAA9B,CAAhB;AAAA,OAJD,CAAP;AAKD;;AAED;;;;;;;;;;;;;;;;;;;;sCAiBkBL,M,EAAQ;AACxB,UAAI,CAACA,MAAL,EAAa;AACX,eAAO1B,QAAQC,MAAR,CACL,IAAIC,KAAJ,CAAU,yDAAV,CADK,CAAP;AAGD;;AAED,aAAO,KAAKR,QAAL,CAAcS,IAAd,CAAsB,KAAKV,QAA3B,eAA6CiC,MAA7C,eAAP;AACD;;AAED;;;;;;;;;;;;;;;;;;;;oCAiBgBA,M,EAAQ;AACtB,UAAI,CAACA,MAAL,EAAa;AACX,eAAO1B,QAAQC,MAAR,CACL,IAAIC,KAAJ,CAAU,uDAAV,CADK,CAAP;AAGD;;AAED,aAAO,KAAKR,QAAL,CAAcS,IAAd,CAAsB,KAAKV,QAA3B,eAA6CiC,MAA7C,aAAP;AACD;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAmCO9B,Q,EAAU;AACf,UAAMC,iBAAiB,CAAC,MAAD,EAAS,KAAT,CAAvB;;AAEA,WAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAID,eAAeE,MAAnC,EAA2CD,GAA3C,EAAgD;AAC9C,YAAI,CAACF,SAASC,eAAeC,CAAf,CAAT,CAAL,EAAkC;AAChC,iBAAOE,QAAQC,MAAR,CACL,IAAIC,KAAJ,QAAeL,eAAeC,CAAf,CAAf,mCADK,CAAP;AAGD;AACF;;AATc,UAWPe,IAXO,GAWgBjB,QAXhB,CAWPiB,IAXO;AAAA,UAWDO,OAXC,GAWgBxB,QAXhB,CAWDwB,OAXC;AAAA,UAWQC,GAXR,GAWgBzB,QAXhB,CAWQyB,GAXR;;;AAaf,aAAOxC,MAAMmD,GAAN,CAAUX,GAAV,EAAeR,IAAf,EAAqB,EAAEO,gBAAF,EAArB,CAAP;AACD;;AAED;;;;;;;;;;;;;;;;;;;;;0CAkB+D;AAAA,UAA9Cd,WAA8C,SAA9CA,WAA8C;AAAA,UAAjCK,OAAiC,SAAjCA,OAAiC;AAAA,UAAxBM,aAAwB,SAAxBA,aAAwB;AAAA,UAATL,KAAS,SAATA,KAAS;;AAC7D,UAAMqB,YAAY,EAAlB;AACA,UAAMC,WAAWvB,WAAWM,cAAcN,OAA1C;;AAEA,UAAIL,WAAJ,EAAiB;AACf2B,kBAAUL,IAAV,GAAiBtB,WAAjB;AACD;;AAED,aAAO6B,OAAOC,MAAP,CAAc,IAAIlC,KAAJ,CAAUgC,QAAV,CAAd,EAAmC;AACxCD,4BADwC;AAExChB,oCAFwC;AAGxCL;AAHwC,OAAnC,CAAP;AAKD;;;;;;AAGH,eAAe3B,KAAf","file":"index.js","sourcesContent":["import axios from 'axios';\nimport { toCamelCase, toSnakeCase } from '../utils/objects';\nimport { formatPaginatedDataFromServer } from '../utils/pagination';\n\n/**\n * @typedef {Object} File\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Object} FileWithUploadInformation\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file\n * belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n * @property {Object} uploadInfo Information related to the uploading the\n * underlying file\n * @property {string} uploadInfo.expiresAt A ISO 8601 Extended format date/time\n * string indicating when the validity of the included URL expires\n * @property {Object.<string, string>} uploadInfo.headers to be appended to the\n * request when uploading the file. The key is the header name and the value\n * is the included value.\n * @property {string} uploadInfo.method The HTTP method to be used when\n * uploading the file.\n * @property {string} uploadInfo.url The URL to be used when uploading the file.\n */\n\n/**\n * @typedef {Object} FilesFromServer\n * @property {Object} _metadata Metadata about the pagination settings\n * @property {number} _metadata.offset Offset of records in subsequent queries\n * @property {number} _metadata.totalRecords Total number of files found\n * @property {File[]} records\n */\n\n/**\n * @typedef {Object} FileToDownload\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {Object} downloadInfo\n * @property {string} downloadInfo.attachmentUrl A URL that can be used to download the file from the external storage\n * @property {string} downloadInfo.expiresAt ISO 8601 Extended Format date/time indicating when the attachement and inline URLs expire\n * @property {string} downloadInfo.inlineUrl A URL that can be used for embedding the file into a page\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Error} FileError An error returned while creating and uploading an\n * individual file\n * @property {Object} artifacts Records that may have been created while\n * creating and uploading a file. Can be used to pick up the process manually\n * or clean up before trying again.\n * @property {Object} [artifacts.file] A created File artifact\n * @property {Error} originalError The original error object that can be used\n * for additional debugging purposes\n * @property {string} stage A string describing in what stage of the create and\n * upload process the failure occurred. Possible choices are:\n * - create (failed while creating the initial file record)\n * - upload (failed while uploading the actual file for storage)\n * - statusUpdate (failed while updating the upload status for the file record)\n * - get (failed at the end while getting an updated file record)\n */\n\n/**\n * Module that provides access to information about Files.\n * More information about the best way to use this module is available at:\n * https://contxt.readme.io/reference#files-overview\n *\n * @typicalname contxtSdk.files\n */\nclass Files {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n */\n constructor(sdk, request) {\n const baseUrl = `${sdk.config.audiences.files.host}/v1`;\n\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Creates a file record.\n *\n * API Endpoint: '/files'\n * Method: POST\n *\n * @param {Object} fileInfo Metadata about the file\n * @param {string} fileInfo.contentType The MIME type\n * @param {string} [fileInfo.description] A short description\n * @param {string} fileInfo.filename The filename\n * @param {string} fileInfo.organizationId The organization ID to which the\n * file belongs\n *\n * @returns {Promise}\n * @fulfill {FileWithUploadInformation}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .create({\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename: 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n create(fileInfo) {\n const requiredFields = ['contentType', 'filename', 'organizationId'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to create a file`)\n );\n }\n }\n\n return this._request\n .post(`${this._baseUrl}/files`, toSnakeCase(fileInfo))\n .then(({ upload_info, ...createdFile }) => {\n return {\n ...toCamelCase(createdFile),\n uploadInfo: toCamelCase(upload_info, {\n deep: false,\n excludeTransform: ['headers']\n })\n };\n });\n }\n\n /**\n * A procedural method that takes care of:\n * 1. Creating a file record\n * 2. Uploading the file from information returned when creating the file\n * record\n * 3. Updating the file record's status to indicate if the upload was\n * successful or a failure\n * 4. Returning an updated copy of the file record OR an error indicating\n * what failed, when it failed, and potentially, why it failed\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The actual data of the file.\n * @param {Object} fileInfo.metadata Metadata about the file to be uploaded\n * @param {string} fileInfo.metadata.contentType The MIME type\n * @param {string} [fileInfo.metadata.description] A short description\n * @param {string} fileInfo.metadata.filename The filename\n * @param {string} fileInfo.metadata.organizationId The organization ID to which the file belongs\n *\n * @returns {Promise}\n * @fulfill {File}\n * @rejects {FileError}\n *\n * @example\n * contxtSdk\n * .createAndUpload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * metadata: {\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename:\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * }\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n createAndUpload(fileInfo) {\n const requiredFields = ['data', 'metadata'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n this._generateError({\n message: `A \\`${\n requiredFields[i]\n }\\` field is required to create and upload a file`,\n stage: 'validation'\n })\n );\n }\n }\n\n const { data, metadata } = fileInfo;\n\n return this.create(metadata)\n .catch((originalError) => {\n throw this._generateError({\n originalError,\n message: 'There was a problem creating the file. Please try again.',\n stage: 'create'\n });\n })\n .then(({ uploadInfo, ...createdFile }) => {\n return Promise.resolve()\n .then(() => {\n return this.upload({\n data,\n headers: uploadInfo.headers,\n url: uploadInfo.url\n }).catch((originalError) => {\n this.setUploadFailed(createdFile.id);\n\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem uploading the file. Please try again.',\n stage: 'upload'\n });\n });\n })\n .then(() => {\n return this.setUploadComplete(createdFile.id).catch(\n (originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem updating the file status. Please try again.',\n stage: 'statusUpdate'\n });\n }\n );\n })\n .then(() => {\n return this.get(createdFile.id).catch((originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem getting updated information about the file. Please try again.',\n stage: 'get'\n });\n });\n });\n });\n }\n\n /**\n * Deletes a file and associated file actions.\n *\n * API Endpoint: '/files/:fileId'\n * Method: DELETE\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files.delete('8704f900-28f2-4951-aaf0-1827fcd0b0cb');\n */\n delete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to delete a file')\n );\n }\n\n return this._request.delete(`${this._baseUrl}/files/${fileId}`);\n }\n\n /**\n * Gets a temporary URL for the file.\n *\n * API Endpoint: '/files/:fileId/download'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {FileToDownload} Information needed to download the file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .download('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n download(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for downloading a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}/download`)\n .then((file) => toCamelCase(file));\n }\n\n /**\n * Gets metadata about a file. This does not return the actual file.\n *\n * API Endpoint: '/files/:fileId'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {File} Information about a file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .get('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n get(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for getting information about a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}`)\n .then((file) => toCamelCase(file));\n }\n\n /**\n * Gets a paginated list of files and their metadata. This does not return\n * the actual files.\n *\n * API Endpoint: '/files'\n * Method: GET\n *\n * @param {Object} [filesFilters]\n * @param {Number} [filesFilters.limit = 100] Maximum number of records to return per query\n * @param {Number} [filesFilters.offset = 0] How many records from the first record to start the query\n * @param {String} [filesFilters.orderBy = 'createdAt'] How many records from the first record to start the query\n * @param {Boolean} [filesFilters.reverseOrder = false] Determine the results should be sorted in reverse (ascending) order\n * @param {String} [filesFilters.status = 'ACTIVE'] Filter by a file's current status\n *\n * @returns {Promise}\n * @fulfill {FilesFromServer} Information about the files\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .getAll()\n * .then((files) => console.log(files))\n * .catch((err) => console.log(err));\n */\n getAll(filesFilters) {\n return this._request\n .get(`${this._baseUrl}/files`, {\n params: toSnakeCase(filesFilters)\n })\n .then((assetsData) => formatPaginatedDataFromServer(assetsData));\n }\n\n /**\n * Updates the upload status of a file to indicate the upload is complete.\n *\n * API Endpoint: '/files/:fileId/complete'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadComplete('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadComplete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as complete')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/complete`);\n }\n\n /**\n * Updates the upload status of a file to indicate the upload has failed.\n *\n * API Endpoint: '/files/:fileId/failed'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadFailed('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadFailed(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as failed')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/failed`);\n }\n\n /**\n * Uploads a file to the provided URL. The URL and the headers should be\n * sourced from the response when initially creating a File record.\n *\n * Method: PUT\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The data to be\n * uploaded\n * @param {Object.<string, string>} [fileInfo.headers] Headers to be appended\n * to the request. The key is the header name and the value is the included\n * value\n * @param {String} fileInfo.url The URL to use for the request\n *\n * @returns {Promise}\n * @fulfill {Object}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .upload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * headers: {\n * 'Content-Type': 'application/pdf'\n * },\n * url:\n * 'https://files.ndustrial.example.org/hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * })\n * .catch((err) => console.log(err));\n */\n upload(fileInfo) {\n const requiredFields = ['data', 'url'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to upload a file`)\n );\n }\n }\n\n const { data, headers, url } = fileInfo;\n\n return axios.put(url, data, { headers });\n }\n\n /**\n * Generates a consistent error message with information needed to debug why\n * creating and uploading a file may have failed.\n *\n * @param {Object} errorInfo\n * @param {Object} [errorInfo.createdFile] An object containing information\n * about a created created by Files#create\n * @param {string} [errorInfo.message] The message to be applied to the new\n * Error\n * @param {Error} errorInfo.originalError The original error that was thrown\n * that will be included in the new Error's body\n * @param {string} errorInfo.stage A string describing in what stage of the\n * create and upload process the failure occurred\n *\n * @returns {FileError}\n *\n * @private\n */\n _generateError({ createdFile, message, originalError, stage }) {\n const artifacts = {};\n const errorMsg = message || originalError.message;\n\n if (createdFile) {\n artifacts.file = createdFile;\n }\n\n return Object.assign(new Error(errorMsg), {\n artifacts,\n originalError,\n stage\n });\n }\n}\n\nexport default Files;\n"]}
1
+ {"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_objects","_pagination","_excluded","_excluded2","e","__esModule","default","cov_2kycc8t3qm","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","includes","propertyIsEnumerable","n","hasOwnProperty","Files","constructor","sdk","request","baseUrl","config","audiences","files","host","_baseUrl","_request","_sdk","create","fileInfo","requiredFields","Promise","reject","Error","post","ObjectUtils","toSnakeCase","then","_ref","upload_info","createdFile","toCamelCase","uploadInfo","deep","excludeTransform","createAndUpload","_generateError","message","stage","_ref2","data","metadata","catch","originalError","_ref3","resolve","upload","headers","url","setUploadFailed","id","setUploadComplete","get","delete","fileId","download","file","getAll","filesFilters","params","assetsData","PaginationUtils","formatPaginatedDataFromServer","_ref4","axios","put","_ref5","artifacts","errorMsg","assign","_default","exports"],"sources":["files/index.js"],"sourcesContent":["import axios from 'axios';\nimport ObjectUtils from '../utils/objects';\nimport PaginationUtils from '../utils/pagination';\n\n/**\n * @typedef {Object} File\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Object} FileWithUploadInformation\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file\n * belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n * @property {Object} uploadInfo Information related to the uploading the\n * underlying file\n * @property {string} uploadInfo.expiresAt A ISO 8601 Extended format date/time\n * string indicating when the validity of the included URL expires\n * @property {Object.<string, string>} uploadInfo.headers to be appended to the\n * request when uploading the file. The key is the header name and the value\n * is the included value.\n * @property {string} uploadInfo.method The HTTP method to be used when\n * uploading the file.\n * @property {string} uploadInfo.url The URL to be used when uploading the file.\n */\n\n/**\n * @typedef {Object} FilesFromServer\n * @property {Object} _metadata Metadata about the pagination settings\n * @property {number} _metadata.offset Offset of records in subsequent queries\n * @property {number} _metadata.totalRecords Total number of files found\n * @property {File[]} records\n */\n\n/**\n * @typedef {Object} FileToDownload\n * @property {string} createdAt ISO 8601 Extended Format date/time string\n * @property {string} contentType The MIME type of the file\n * @property {string} description\n * @property {Object} downloadInfo\n * @property {string} downloadInfo.attachmentUrl A URL that can be used to download the file from the external storage\n * @property {string} downloadInfo.expiresAt ISO 8601 Extended Format date/time indicating when the attachement and inline URLs expire\n * @property {string} downloadInfo.inlineUrl A URL that can be used for embedding the file into a page\n * @property {string} filename\n * @property {string} id UUID of the file\n * @property {string} organizationId UUID of the organization to which the file belongs\n * @property {string} ownerId The ID of the user who owns the file\n * @property {string} status The status of the File, e.g. \"ACTIVE\"\n * @property {string} updatedAt ISO 8601 Extended Format date/time string\n */\n\n/**\n * @typedef {Error} FileError An error returned while creating and uploading an\n * individual file\n * @property {Object} artifacts Records that may have been created while\n * creating and uploading a file. Can be used to pick up the process manually\n * or clean up before trying again.\n * @property {Object} [artifacts.file] A created File artifact\n * @property {Error} originalError The original error object that can be used\n * for additional debugging purposes\n * @property {string} stage A string describing in what stage of the create and\n * upload process the failure occurred. Possible choices are:\n * - create (failed while creating the initial file record)\n * - upload (failed while uploading the actual file for storage)\n * - statusUpdate (failed while updating the upload status for the file record)\n * - get (failed at the end while getting an updated file record)\n */\n\n/**\n * Module that provides access to information about Files.\n * More information about the best way to use this module is available at:\n * https://contxt.readme.io/reference#files-overview\n *\n * @typicalname contxtSdk.files\n */\nclass Files {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n */\n constructor(sdk, request) {\n const baseUrl = `${sdk.config.audiences.files.host}/v1`;\n\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Creates a file record.\n *\n * API Endpoint: '/files'\n * Method: POST\n *\n * @param {Object} fileInfo Metadata about the file\n * @param {string} fileInfo.contentType The MIME type\n * @param {string} [fileInfo.description] A short description\n * @param {string} fileInfo.filename The filename\n * @param {string} fileInfo.organizationId The organization ID to which the\n * file belongs\n *\n * @returns {Promise}\n * @fulfill {FileWithUploadInformation}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .create({\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename: 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n create(fileInfo) {\n const requiredFields = ['contentType', 'filename', 'organizationId'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to create a file`)\n );\n }\n }\n\n return this._request\n .post(`${this._baseUrl}/files`, ObjectUtils.toSnakeCase(fileInfo))\n .then(({ upload_info, ...createdFile }) => {\n return {\n ...ObjectUtils.toCamelCase(createdFile),\n uploadInfo: ObjectUtils.toCamelCase(upload_info, {\n deep: false,\n excludeTransform: ['headers']\n })\n };\n });\n }\n\n /**\n * A procedural method that takes care of:\n * 1. Creating a file record\n * 2. Uploading the file from information returned when creating the file\n * record\n * 3. Updating the file record's status to indicate if the upload was\n * successful or a failure\n * 4. Returning an updated copy of the file record OR an error indicating\n * what failed, when it failed, and potentially, why it failed\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The actual data of the file.\n * @param {Object} fileInfo.metadata Metadata about the file to be uploaded\n * @param {string} fileInfo.metadata.contentType The MIME type\n * @param {string} [fileInfo.metadata.description] A short description\n * @param {string} fileInfo.metadata.filename The filename\n * @param {string} fileInfo.metadata.organizationId The organization ID to which the file belongs\n *\n * @returns {Promise}\n * @fulfill {File}\n * @rejects {FileError}\n *\n * @example\n * contxtSdk\n * .createAndUpload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * metadata: {\n * contentType: 'application/pdf',\n * description:\n * 'Electric Bill from Hawkins National Labratory (October 2018)',\n * filename:\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf',\n * organizationId: '8ba33864-01ff-4388-a4e0-63eebf36fed3'\n * }\n * })\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n createAndUpload(fileInfo) {\n const requiredFields = ['data', 'metadata'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n this._generateError({\n message: `A \\`${\n requiredFields[i]\n }\\` field is required to create and upload a file`,\n stage: 'validation'\n })\n );\n }\n }\n\n const { data, metadata } = fileInfo;\n\n return this.create(metadata)\n .catch((originalError) => {\n throw this._generateError({\n originalError,\n message: 'There was a problem creating the file. Please try again.',\n stage: 'create'\n });\n })\n .then(({ uploadInfo, ...createdFile }) => {\n return Promise.resolve()\n .then(() => {\n return this.upload({\n data,\n headers: uploadInfo.headers,\n url: uploadInfo.url\n }).catch((originalError) => {\n this.setUploadFailed(createdFile.id);\n\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem uploading the file. Please try again.',\n stage: 'upload'\n });\n });\n })\n .then(() => {\n return this.setUploadComplete(createdFile.id).catch(\n (originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem updating the file status. Please try again.',\n stage: 'statusUpdate'\n });\n }\n );\n })\n .then(() => {\n return this.get(createdFile.id).catch((originalError) => {\n throw this._generateError({\n createdFile,\n originalError,\n message:\n 'There was a problem getting updated information about the file. Please try again.',\n stage: 'get'\n });\n });\n });\n });\n }\n\n /**\n * Deletes a file and associated file actions.\n *\n * API Endpoint: '/files/:fileId'\n * Method: DELETE\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files.delete('8704f900-28f2-4951-aaf0-1827fcd0b0cb');\n */\n delete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to delete a file')\n );\n }\n\n return this._request.delete(`${this._baseUrl}/files/${fileId}`);\n }\n\n /**\n * Gets a temporary URL for the file.\n *\n * API Endpoint: '/files/:fileId/download'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {FileToDownload} Information needed to download the file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .download('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n download(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for downloading a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}/download`)\n .then((file) => ObjectUtils.toCamelCase(file));\n }\n\n /**\n * Gets metadata about a file. This does not return the actual file.\n *\n * API Endpoint: '/files/:fileId'\n * Method: GET\n *\n * @param {string} fileId The ID of the file\n *\n * @returns {Promise}\n * @fulfill {File} Information about a file\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .get('bbcdd201-58f7-4b69-a24e-752e9490a347')\n * .then((file) => console.log(file))\n * .catch((err) => console.log(err));\n */\n get(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required for getting information about a file')\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/files/${fileId}`)\n .then((file) => ObjectUtils.toCamelCase(file));\n }\n\n /**\n * Gets a paginated list of files and their metadata. This does not return\n * the actual files.\n *\n * API Endpoint: '/files'\n * Method: GET\n *\n * @param {Object} [filesFilters]\n * @param {Number} [filesFilters.limit = 100] Maximum number of records to return per query\n * @param {Number} [filesFilters.offset = 0] How many records from the first record to start the query\n * @param {String} [filesFilters.orderBy = 'createdAt'] How many records from the first record to start the query\n * @param {Boolean} [filesFilters.reverseOrder = false] Determine the results should be sorted in reverse (ascending) order\n * @param {String} [filesFilters.status = 'ACTIVE'] Filter by a file's current status\n *\n * @returns {Promise}\n * @fulfill {FilesFromServer} Information about the files\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .getAll()\n * .then((files) => console.log(files))\n * .catch((err) => console.log(err));\n */\n getAll(filesFilters) {\n return this._request\n .get(`${this._baseUrl}/files`, {\n params: ObjectUtils.toSnakeCase(filesFilters)\n })\n .then((assetsData) => PaginationUtils.formatPaginatedDataFromServer(assetsData));\n }\n\n /**\n * Updates the upload status of a file to indicate the upload is complete.\n *\n * API Endpoint: '/files/:fileId/complete'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadComplete('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadComplete(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as complete')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/complete`);\n }\n\n /**\n * Updates the upload status of a file to indicate the upload has failed.\n *\n * API Endpoint: '/files/:fileId/failed'\n * Method: POST\n *\n * @param {string} fileId The ID of the file to update\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @rejects {Error}\n *\n * @example\n * contxtSdk.files\n * .setUploadFailed('ecd0439e-d5be-4529-ad6a-4a9cbfa7202f')\n * .catch((err) => console.log(err));\n */\n setUploadFailed(fileId) {\n if (!fileId) {\n return Promise.reject(\n new Error('A file ID is required to mark a file upload as failed')\n );\n }\n\n return this._request.post(`${this._baseUrl}/files/${fileId}/failed`);\n }\n\n /**\n * Uploads a file to the provided URL. The URL and the headers should be\n * sourced from the response when initially creating a File record.\n *\n * Method: PUT\n *\n * @param {Object} fileInfo\n * @param {ArrayBuffer|Blob|Buffer|File|Stream} fileInfo.data The data to be\n * uploaded\n * @param {Object.<string, string>} [fileInfo.headers] Headers to be appended\n * to the request. The key is the header name and the value is the included\n * value\n * @param {String} fileInfo.url The URL to use for the request\n *\n * @returns {Promise}\n * @fulfill {Object}\n * @reject {Error}\n *\n * @example\n * contxtSdk.files\n * .upload({\n * data: fs.readFileSync(\n * path.join(\n * __dirname,\n * 'hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * )\n * ),\n * headers: {\n * 'Content-Type': 'application/pdf'\n * },\n * url:\n * 'https://files.ndustrial.example.org/hawkins_national_labratory-hawkins_energy-october-2019.pdf'\n * })\n * .catch((err) => console.log(err));\n */\n upload(fileInfo) {\n const requiredFields = ['data', 'url'];\n\n for (let i = 0; i < requiredFields.length; i++) {\n if (!fileInfo[requiredFields[i]]) {\n return Promise.reject(\n new Error(`A ${requiredFields[i]} is required to upload a file`)\n );\n }\n }\n\n const { data, headers, url } = fileInfo;\n\n return axios.put(url, data, { headers });\n }\n\n /**\n * Generates a consistent error message with information needed to debug why\n * creating and uploading a file may have failed.\n *\n * @param {Object} errorInfo\n * @param {Object} [errorInfo.createdFile] An object containing information\n * about a created created by Files#create\n * @param {string} [errorInfo.message] The message to be applied to the new\n * Error\n * @param {Error} errorInfo.originalError The original error that was thrown\n * that will be included in the new Error's body\n * @param {string} errorInfo.stage A string describing in what stage of the\n * create and upload process the failure occurred\n *\n * @returns {FileError}\n *\n * @private\n */\n _generateError({ createdFile, message, originalError, stage }) {\n const artifacts = {};\n const errorMsg = message || originalError.message;\n\n if (createdFile) {\n artifacts.file = createdFile;\n }\n\n return Object.assign(new Error(errorMsg), {\n artifacts,\n originalError,\n stage\n });\n }\n}\n\nexport default Files;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAkD,MAAAG,SAAA;EAAAC,UAAA;AAAA,SAAAL,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA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","ignoreList":[]}