@icure/api 6.0.2 → 6.0.3

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 (231) hide show
  1. package/icc-api/api/IccAccesslogApi.d.ts +3 -1
  2. package/icc-api/api/IccAccesslogApi.js +9 -8
  3. package/icc-api/api/IccAccesslogApi.js.map +1 -1
  4. package/icc-api/api/IccAgendaApi.d.ts +3 -1
  5. package/icc-api/api/IccAgendaApi.js +9 -8
  6. package/icc-api/api/IccAgendaApi.js.map +1 -1
  7. package/icc-api/api/IccAnonymousAccessApi.d.ts +3 -1
  8. package/icc-api/api/IccAnonymousAccessApi.js +5 -4
  9. package/icc-api/api/IccAnonymousAccessApi.js.map +1 -1
  10. package/icc-api/api/IccApplicationsettingsApi.d.ts +3 -1
  11. package/icc-api/api/IccApplicationsettingsApi.js +5 -4
  12. package/icc-api/api/IccApplicationsettingsApi.js.map +1 -1
  13. package/icc-api/api/IccArticleApi.d.ts +3 -1
  14. package/icc-api/api/IccArticleApi.js +7 -6
  15. package/icc-api/api/IccArticleApi.js.map +1 -1
  16. package/icc-api/api/IccAuthApi.d.ts +10 -0
  17. package/icc-api/api/IccAuthApi.js +25 -1
  18. package/icc-api/api/IccAuthApi.js.map +1 -1
  19. package/icc-api/api/IccBeefactApi.d.ts +3 -1
  20. package/icc-api/api/IccBeefactApi.js +3 -2
  21. package/icc-api/api/IccBeefactApi.js.map +1 -1
  22. package/icc-api/api/IccBekmehrApi.d.ts +3 -1
  23. package/icc-api/api/IccBekmehrApi.js +29 -28
  24. package/icc-api/api/IccBekmehrApi.js.map +1 -1
  25. package/icc-api/api/IccBemikronoApi.d.ts +3 -1
  26. package/icc-api/api/IccBemikronoApi.js +10 -9
  27. package/icc-api/api/IccBemikronoApi.js.map +1 -1
  28. package/icc-api/api/IccBeresultexportApi.d.ts +3 -1
  29. package/icc-api/api/IccBeresultexportApi.js +5 -4
  30. package/icc-api/api/IccBeresultexportApi.js.map +1 -1
  31. package/icc-api/api/IccBeresultimportApi.d.ts +3 -1
  32. package/icc-api/api/IccBeresultimportApi.js +5 -4
  33. package/icc-api/api/IccBeresultimportApi.js.map +1 -1
  34. package/icc-api/api/IccBesamv2Api.d.ts +3 -1
  35. package/icc-api/api/IccBesamv2Api.js +35 -34
  36. package/icc-api/api/IccBesamv2Api.js.map +1 -1
  37. package/icc-api/api/IccCalendarItemApi.d.ts +3 -1
  38. package/icc-api/api/IccCalendarItemApi.js +14 -13
  39. package/icc-api/api/IccCalendarItemApi.js.map +1 -1
  40. package/icc-api/api/IccCalendarItemTypeApi.d.ts +3 -1
  41. package/icc-api/api/IccCalendarItemTypeApi.js +8 -7
  42. package/icc-api/api/IccCalendarItemTypeApi.js.map +1 -1
  43. package/icc-api/api/IccClassificationApi.d.ts +3 -1
  44. package/icc-api/api/IccClassificationApi.js +10 -9
  45. package/icc-api/api/IccClassificationApi.js.map +1 -1
  46. package/icc-api/api/IccClassificationTemplateApi.d.ts +3 -1
  47. package/icc-api/api/IccClassificationTemplateApi.js +10 -9
  48. package/icc-api/api/IccClassificationTemplateApi.js.map +1 -1
  49. package/icc-api/api/IccCodeApi.d.ts +3 -1
  50. package/icc-api/api/IccCodeApi.js +18 -17
  51. package/icc-api/api/IccCodeApi.js.map +1 -1
  52. package/icc-api/api/IccContactApi.d.ts +3 -2
  53. package/icc-api/api/IccContactApi.js +30 -32
  54. package/icc-api/api/IccContactApi.js.map +1 -1
  55. package/icc-api/api/IccDeviceApi.d.ts +3 -1
  56. package/icc-api/api/IccDeviceApi.js +20 -19
  57. package/icc-api/api/IccDeviceApi.js.map +1 -1
  58. package/icc-api/api/IccDoctemplateApi.d.ts +3 -1
  59. package/icc-api/api/IccDoctemplateApi.js +15 -14
  60. package/icc-api/api/IccDoctemplateApi.js.map +1 -1
  61. package/icc-api/api/IccDocumentApi.d.ts +3 -1
  62. package/icc-api/api/IccDocumentApi.js +22 -21
  63. package/icc-api/api/IccDocumentApi.js.map +1 -1
  64. package/icc-api/api/IccDocumentTemplateApi.d.ts +3 -1
  65. package/icc-api/api/IccDocumentTemplateApi.js +15 -14
  66. package/icc-api/api/IccDocumentTemplateApi.js.map +1 -1
  67. package/icc-api/api/IccEntityrefApi.d.ts +3 -1
  68. package/icc-api/api/IccEntityrefApi.js +4 -3
  69. package/icc-api/api/IccEntityrefApi.js.map +1 -1
  70. package/icc-api/api/IccEntitytemplateApi.d.ts +3 -1
  71. package/icc-api/api/IccEntitytemplateApi.js +13 -12
  72. package/icc-api/api/IccEntitytemplateApi.js.map +1 -1
  73. package/icc-api/api/IccFormApi.d.ts +3 -1
  74. package/icc-api/api/IccFormApi.js +26 -25
  75. package/icc-api/api/IccFormApi.js.map +1 -1
  76. package/icc-api/api/IccFrontendmigrationApi.d.ts +3 -1
  77. package/icc-api/api/IccFrontendmigrationApi.js +8 -7
  78. package/icc-api/api/IccFrontendmigrationApi.js.map +1 -1
  79. package/icc-api/api/IccGroupApi.d.ts +3 -1
  80. package/icc-api/api/IccGroupApi.js +18 -17
  81. package/icc-api/api/IccGroupApi.js.map +1 -1
  82. package/icc-api/api/IccHcpartyApi.d.ts +3 -1
  83. package/icc-api/api/IccHcpartyApi.js +24 -23
  84. package/icc-api/api/IccHcpartyApi.js.map +1 -1
  85. package/icc-api/api/IccHelementApi.d.ts +3 -1
  86. package/icc-api/api/IccHelementApi.js +15 -14
  87. package/icc-api/api/IccHelementApi.js.map +1 -1
  88. package/icc-api/api/IccIcureApi.d.ts +3 -1
  89. package/icc-api/api/IccIcureApi.js +18 -17
  90. package/icc-api/api/IccIcureApi.js.map +1 -1
  91. package/icc-api/api/IccInsuranceApi.d.ts +3 -1
  92. package/icc-api/api/IccInsuranceApi.js +9 -8
  93. package/icc-api/api/IccInsuranceApi.js.map +1 -1
  94. package/icc-api/api/IccInvoiceApi.d.ts +3 -1
  95. package/icc-api/api/IccInvoiceApi.js +33 -32
  96. package/icc-api/api/IccInvoiceApi.js.map +1 -1
  97. package/icc-api/api/IccKeywordApi.d.ts +3 -1
  98. package/icc-api/api/IccKeywordApi.js +8 -7
  99. package/icc-api/api/IccKeywordApi.js.map +1 -1
  100. package/icc-api/api/IccMaintenanceTaskApi.d.ts +3 -1
  101. package/icc-api/api/IccMaintenanceTaskApi.js +7 -6
  102. package/icc-api/api/IccMaintenanceTaskApi.js.map +1 -1
  103. package/icc-api/api/IccMedexApi.d.ts +3 -1
  104. package/icc-api/api/IccMedexApi.js +3 -2
  105. package/icc-api/api/IccMedexApi.js.map +1 -1
  106. package/icc-api/api/IccMedicallocationApi.d.ts +3 -1
  107. package/icc-api/api/IccMedicallocationApi.js +7 -6
  108. package/icc-api/api/IccMedicallocationApi.js.map +1 -1
  109. package/icc-api/api/IccMessageApi.d.ts +3 -1
  110. package/icc-api/api/IccMessageApi.js +21 -20
  111. package/icc-api/api/IccMessageApi.js.map +1 -1
  112. package/icc-api/api/IccPatientApi.d.ts +3 -1
  113. package/icc-api/api/IccPatientApi.js +36 -35
  114. package/icc-api/api/IccPatientApi.js.map +1 -1
  115. package/icc-api/api/IccPermissionApi.d.ts +3 -1
  116. package/icc-api/api/IccPermissionApi.js +3 -2
  117. package/icc-api/api/IccPermissionApi.js.map +1 -1
  118. package/icc-api/api/IccPlaceApi.d.ts +3 -1
  119. package/icc-api/api/IccPlaceApi.js +7 -6
  120. package/icc-api/api/IccPlaceApi.js.map +1 -1
  121. package/icc-api/api/IccPubsubApi.d.ts +3 -1
  122. package/icc-api/api/IccPubsubApi.js +6 -5
  123. package/icc-api/api/IccPubsubApi.js.map +1 -1
  124. package/icc-api/api/IccReceiptApi.d.ts +3 -1
  125. package/icc-api/api/IccReceiptApi.js +9 -8
  126. package/icc-api/api/IccReceiptApi.js.map +1 -1
  127. package/icc-api/api/IccReplicationApi.d.ts +3 -1
  128. package/icc-api/api/IccReplicationApi.js +6 -5
  129. package/icc-api/api/IccReplicationApi.js.map +1 -1
  130. package/icc-api/api/IccTarificationApi.d.ts +3 -1
  131. package/icc-api/api/IccTarificationApi.js +10 -9
  132. package/icc-api/api/IccTarificationApi.js.map +1 -1
  133. package/icc-api/api/IccTimeTableApi.d.ts +3 -1
  134. package/icc-api/api/IccTimeTableApi.js +8 -7
  135. package/icc-api/api/IccTimeTableApi.js.map +1 -1
  136. package/icc-api/api/IccTmpApi.d.ts +3 -1
  137. package/icc-api/api/IccTmpApi.js +73 -72
  138. package/icc-api/api/IccTmpApi.js.map +1 -1
  139. package/icc-api/api/IccUserApi.d.ts +3 -1
  140. package/icc-api/api/IccUserApi.js +28 -27
  141. package/icc-api/api/IccUserApi.js.map +1 -1
  142. package/icc-api/api/XHR.d.ts +2 -1
  143. package/icc-api/api/XHR.js +45 -59
  144. package/icc-api/api/XHR.js.map +1 -1
  145. package/icc-api/model/AuthenticationResponse.d.ts +2 -0
  146. package/icc-api/model/AuthenticationResponse.js.map +1 -1
  147. package/icc-api/model/Group.d.ts +6 -0
  148. package/icc-api/model/Group.js.map +1 -1
  149. package/icc-api/model/RefreshTokenExpiredError.d.ts +3 -0
  150. package/icc-api/model/RefreshTokenExpiredError.js +10 -0
  151. package/icc-api/model/RefreshTokenExpiredError.js.map +1 -0
  152. package/icc-api/model/RegistrationInformation.d.ts +1 -0
  153. package/icc-api/model/RegistrationInformation.js.map +1 -1
  154. package/icc-api/model/TimeTableItem.d.ts +2 -1
  155. package/icc-api/model/TimeTableItem.js.map +1 -1
  156. package/icc-x-api/auth/AuthService.d.ts +16 -0
  157. package/icc-x-api/auth/AuthService.js +3 -0
  158. package/icc-x-api/auth/AuthService.js.map +1 -0
  159. package/icc-x-api/auth/AuthenticationProvider.d.ts +22 -0
  160. package/icc-x-api/auth/AuthenticationProvider.js +41 -0
  161. package/icc-x-api/auth/AuthenticationProvider.js.map +1 -0
  162. package/icc-x-api/auth/BasicAuthService.d.ts +12 -0
  163. package/icc-x-api/auth/BasicAuthService.js +27 -0
  164. package/icc-x-api/auth/BasicAuthService.js.map +1 -0
  165. package/icc-x-api/auth/EnsembleAuthService.d.ts +17 -0
  166. package/icc-x-api/auth/EnsembleAuthService.js +60 -0
  167. package/icc-x-api/auth/EnsembleAuthService.js.map +1 -0
  168. package/icc-x-api/auth/JwtAuthService.d.ts +19 -0
  169. package/icc-x-api/auth/JwtAuthService.js +97 -0
  170. package/icc-x-api/auth/JwtAuthService.js.map +1 -0
  171. package/icc-x-api/auth/NoAuthService.d.ts +8 -0
  172. package/icc-x-api/auth/NoAuthService.js +30 -0
  173. package/icc-x-api/auth/NoAuthService.js.map +1 -0
  174. package/icc-x-api/icc-accesslog-x-api.d.ts +2 -1
  175. package/icc-x-api/icc-accesslog-x-api.js +2 -2
  176. package/icc-x-api/icc-accesslog-x-api.js.map +1 -1
  177. package/icc-x-api/icc-bekmehr-x-api.d.ts +2 -1
  178. package/icc-x-api/icc-bekmehr-x-api.js +2 -2
  179. package/icc-x-api/icc-bekmehr-x-api.js.map +1 -1
  180. package/icc-x-api/icc-calendar-item-x-api.d.ts +2 -1
  181. package/icc-x-api/icc-calendar-item-x-api.js +2 -2
  182. package/icc-x-api/icc-calendar-item-x-api.js.map +1 -1
  183. package/icc-x-api/icc-classification-x-api.d.ts +2 -1
  184. package/icc-x-api/icc-classification-x-api.js +2 -2
  185. package/icc-x-api/icc-classification-x-api.js.map +1 -1
  186. package/icc-x-api/icc-code-x-api.d.ts +2 -1
  187. package/icc-x-api/icc-code-x-api.js +2 -2
  188. package/icc-x-api/icc-code-x-api.js.map +1 -1
  189. package/icc-x-api/icc-contact-x-api.d.ts +2 -1
  190. package/icc-x-api/icc-contact-x-api.js +2 -2
  191. package/icc-x-api/icc-contact-x-api.js.map +1 -1
  192. package/icc-x-api/icc-doctemplate-x-api.d.ts +3 -1
  193. package/icc-x-api/icc-doctemplate-x-api.js +4 -3
  194. package/icc-x-api/icc-doctemplate-x-api.js.map +1 -1
  195. package/icc-x-api/icc-document-x-api.d.ts +3 -1
  196. package/icc-x-api/icc-document-x-api.js +4 -3
  197. package/icc-x-api/icc-document-x-api.js.map +1 -1
  198. package/icc-x-api/icc-form-x-api.d.ts +2 -1
  199. package/icc-x-api/icc-form-x-api.js +2 -2
  200. package/icc-x-api/icc-form-x-api.js.map +1 -1
  201. package/icc-x-api/icc-hcparty-x-api.d.ts +2 -1
  202. package/icc-x-api/icc-hcparty-x-api.js +2 -2
  203. package/icc-x-api/icc-hcparty-x-api.js.map +1 -1
  204. package/icc-x-api/icc-helement-x-api.d.ts +2 -1
  205. package/icc-x-api/icc-helement-x-api.js +2 -2
  206. package/icc-x-api/icc-helement-x-api.js.map +1 -1
  207. package/icc-x-api/icc-invoice-x-api.d.ts +2 -1
  208. package/icc-x-api/icc-invoice-x-api.js +2 -2
  209. package/icc-x-api/icc-invoice-x-api.js.map +1 -1
  210. package/icc-x-api/icc-maintenance-task-x-api.d.ts +2 -1
  211. package/icc-x-api/icc-maintenance-task-x-api.js +2 -2
  212. package/icc-x-api/icc-maintenance-task-x-api.js.map +1 -1
  213. package/icc-x-api/icc-message-x-api.d.ts +2 -1
  214. package/icc-x-api/icc-message-x-api.js +2 -2
  215. package/icc-x-api/icc-message-x-api.js.map +1 -1
  216. package/icc-x-api/icc-patient-x-api.d.ts +2 -1
  217. package/icc-x-api/icc-patient-x-api.js +2 -2
  218. package/icc-x-api/icc-patient-x-api.js.map +1 -1
  219. package/icc-x-api/icc-receipt-x-api.d.ts +2 -1
  220. package/icc-x-api/icc-receipt-x-api.js +2 -2
  221. package/icc-x-api/icc-receipt-x-api.js.map +1 -1
  222. package/icc-x-api/icc-time-table-x-api.d.ts +2 -1
  223. package/icc-x-api/icc-time-table-x-api.js +2 -2
  224. package/icc-x-api/icc-time-table-x-api.js.map +1 -1
  225. package/icc-x-api/icc-user-x-api.d.ts +2 -1
  226. package/icc-x-api/icc-user-x-api.js +2 -2
  227. package/icc-x-api/icc-user-x-api.js.map +1 -1
  228. package/icc-x-api/index.d.ts +0 -4
  229. package/icc-x-api/index.js +31 -34
  230. package/icc-x-api/index.js.map +1 -1
  231. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"icc-document-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-document-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccAuthApi, IccDocumentApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport { XHR } from '../icc-api/api/XHR'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccDocumentXApi extends IccDocumentApi {\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n /** maps invalid UTI values to corresponding MIME type for backward-compatibility (pre-v1.0.117) */\n compatUtiRevDefs: { [key: string]: string } = {\n 'com.adobe.encapsulatedPostscript': 'image/eps',\n 'com.adobe.illustrator.aiImage': 'application/illustrator',\n 'com.adobe.indesignImage': 'image/indesign',\n 'com.adobe.photoshopImage': 'image/psd',\n 'com.adobe.postscriptPfaFont': 'application/x-font-type1',\n 'com.adobe.postscriptPfbFont': 'application/x-font-type1',\n 'com.allume.stuffitArchive': 'application/stuffit',\n 'com.apple.binhexArchive': 'application/binhex',\n 'com.apple.diskImageUdif': 'application/x-apple-diskimage',\n 'com.apple.macbinaryArchive': 'application/macbinary',\n 'com.apple.quartzComposerComposition': 'application/x-quartzcomposer',\n 'com.apple.quicktimeImage': 'image/x-quicktime',\n 'com.apple.quicktimeMovie': 'video/quicktime',\n 'com.js.efxFax': 'image/efax',\n 'com.macromedia.shockwaveFlash': 'application/x-shockwave-flash',\n 'com.microsoft.advancedStreamRedirector': 'video/x-ms-asx',\n 'com.microsoft.advancedSystemsFormat': 'video/x-ms-asf',\n 'com.microsoft.waveformAudio': 'audio/wave',\n 'com.microsoft.windowsDynamicLinkLibrary': 'application/x-msdownload',\n 'com.microsoft.windowsExecutable': 'application/exe',\n 'com.microsoft.windowsMediaWax': 'audio/x-ms-wax',\n 'com.microsoft.windowsMediaWm': 'video/x-ms-wm',\n 'com.microsoft.windowsMediaWma': 'audio/x-ms-wma',\n 'com.microsoft.windowsMediaWmd': 'video/x-ms-wmd',\n 'com.microsoft.windowsMediaWmp': 'video/x-ms-wmp',\n 'com.microsoft.windowsMediaWmv': 'video/x-ms-wmv',\n 'com.microsoft.windowsMediaWmx': 'video/x-ms-wmx',\n 'com.microsoft.windowsMediaWmz': 'video/x-ms-wmz',\n 'com.microsoft.windowsMediaWvx': 'video/x-ms-wvx',\n 'com.netscape.javascriptSource': 'text/javascript',\n 'com.pkware.zipArchive': 'application/zip',\n 'com.rarlab.rarArchive': 'application/rar',\n 'com.redhat.redhatPackage': 'application/x-redhat-package',\n 'com.sgi.sgiImage': 'image/sgi',\n 'com.sun.javaAppDescriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.javaArchive': 'application/java-archive',\n 'com.sun.javaClass': 'application/java',\n 'com.sun.javaSource': 'text/x-java-source',\n 'com.sun.javaWebStart': 'application/jnlp',\n 'com.truevision.tgaImage': 'image/tga',\n 'org.bzip.bzip2Archive': 'application/x-bzip2',\n 'org.debian.debianPackage': 'application/x-debian-package',\n 'org.gnu.gnuTarArchive': 'application/x-gtar',\n 'org.gnu.gnuZipArchive': 'application/gzip',\n 'org.oasis.opendocument.textMaster': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.textWeb': 'application/vnd.oasis.opendocument.text-web',\n 'org.xiph.oggTheora': 'video/ogg',\n 'org.xiph.oggVorbis': 'audio/ogg',\n 'public.aifcAudio': 'audio/aiff',\n 'public.aiffAudio': 'audio/aiff',\n 'public.assemblySource': 'text/x-asm',\n 'public.cHeader': 'text/x-c-header',\n 'public.cpioArchive': 'application/x-cpio',\n 'public.cPlusPlusHeader': 'text/x-c++-hdr',\n 'public.cPlusPlusSource': 'application/x-cplusplus',\n 'public.cshScript': 'application/x-csh',\n 'public.cSource': 'text/x-c-code',\n 'public.isoImage': 'application/x-iso-image',\n 'public.mpeg4Audio': 'audio/mp4',\n 'public.objectiveCPlusPlusSource': 'text/x-objcppsrc',\n 'public.objectiveCSource': 'text/x-objcsrc',\n 'public.opentypeFont': 'font/opentype',\n 'public.perlScript': 'text/x-perl',\n 'public.phpScript': 'text/php',\n 'public.plainText': 'text/plain',\n 'public.pythonScript': 'text/x-python-script',\n 'public.shellScript': 'application/x-sh',\n 'public.tarArchive': 'application/tar',\n 'public.truetypeTtfFont': 'application/x-font-ttf',\n 'public.ulawAudio': 'audio/au',\n 'public.xbitmapImage': 'image/xbm',\n 'unofficial.atomFeed': 'application/atom+xml',\n 'unofficial.m3u8Playlist': 'application/x-mpegURL',\n 'unofficial.plsPlaylist': 'audio/scpls',\n 'unofficial.rdfFeed': 'application/rdf+xml',\n 'unofficial.rssFeed': 'application/rss+xml',\n }\n\n utiRevDefs: { [key: string]: string } = {\n ...this.compatUtiRevDefs,\n 'com.adobe.encapsulated-postscript': 'image/eps',\n 'com.adobe.illustrator.ai-image': 'application/illustrator',\n 'com.adobe.indesign-image': 'image/indesign',\n 'com.adobe.pdf': 'application/pdf',\n 'com.adobe.photoshop-image': 'image/psd',\n 'com.adobe.postscript': 'application/postscript',\n 'com.adobe.postscript-pfa-font': 'application/x-font-type1',\n 'com.adobe.postscript-pfb-font': 'application/x-font-type1',\n 'com.allume.stuffit-archive': 'application/stuffit',\n 'com.apple.applescript.script': 'application/x-applescript',\n 'com.apple.applescript.text': 'application/x-applescript',\n 'com.apple.binhex-archive': 'application/binhex',\n 'com.apple.disk-image-udif': 'application/x-apple-diskimage',\n 'com.apple.ical.ics': 'text/calendar',\n 'com.apple.ical.vcs': 'text/x-vcalendar',\n 'com.apple.macbinary-archive': 'application/macbinary',\n 'com.apple.pict': 'image/pict',\n 'com.apple.quartz-composer-composition': 'application/x-quartzcomposer',\n 'com.apple.quicktime-image': 'image/x-quicktime',\n 'com.apple.quicktime-movie': 'video/quicktime',\n 'com.bittorrent.torrent': 'application/x-bittorrent',\n 'com.compuserve.gif': 'image/gif',\n 'com.js.efx-fax': 'image/efax',\n 'com.kodak.flashpix.image': 'image/vndfpx',\n 'com.lizardtech.djvu': 'image/vnd.djvu',\n 'com.macromedia.shockwave-flash': 'application/x-shockwave-flash',\n 'com.microsoft.advanced-stream-redirector': 'video/x-ms-asx',\n 'com.microsoft.advanced-systems-format': 'video/x-ms-asf',\n 'com.microsoft.bmp': 'image/bmp',\n 'com.microsoft.excel.xls': 'application/excel',\n 'com.microsoft.ico': 'image/x-icon',\n 'com.microsoft.powerpoint.ppt': 'application/powerpoint',\n 'com.microsoft.waveform-audio': 'audio/wave',\n 'com.microsoft.windows-dynamic-link-library': 'application/x-msdownload',\n 'com.microsoft.windows-executable': 'application/exe',\n 'com.microsoft.windows-media-wax': 'audio/x-ms-wax',\n 'com.microsoft.windows-media-wm': 'video/x-ms-wm',\n 'com.microsoft.windows-media-wma': 'audio/x-ms-wma',\n 'com.microsoft.windows-media-wmd': 'video/x-ms-wmd',\n 'com.microsoft.windows-media-wmp': 'video/x-ms-wmp',\n 'com.microsoft.windows-media-wmv': 'video/x-ms-wmv',\n 'com.microsoft.windows-media-wmx': 'video/x-ms-wmx',\n 'com.microsoft.windows-media-wmz': 'video/x-ms-wmz',\n 'com.microsoft.windows-media-wvx': 'video/x-ms-wvx',\n 'com.microsoft.word.doc': 'application/msword',\n 'com.netscape.javascript-source': 'text/javascript',\n 'com.pkware.zip-archive': 'application/zip',\n 'com.rarlab.rar-archive': 'application/rar',\n 'com.real.realaudio': 'audio/vnd.rn-realaudio',\n 'com.real.realmedia': 'application/vnd.rn-realmedia',\n 'com.real.smil': 'application/smil',\n 'com.redhat.redhat-package': 'application/x-redhat-package',\n 'com.sgi.sgi-image': 'image/sgi',\n 'com.soundblaster.soundfont': 'application/x-soundfont',\n 'com.sun.java-app-descriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.java-archive': 'application/java-archive',\n 'com.sun.java-class': 'application/java',\n 'com.sun.java-source': 'text/x-java-source',\n 'com.sun.java-web-start': 'application/jnlp',\n 'com.truevision.tga-image': 'image/tga',\n 'org.bzip.bzip2-archive': 'application/x-bzip2',\n 'org.debian.debian-package': 'application/x-debian-package',\n 'org.gnu.gnu-tar-archive': 'application/x-gtar',\n 'org.gnu.gnu-zip-archive': 'application/gzip',\n 'org.neooffice.calc': 'application/vnd.sun.xml.calc',\n 'org.neooffice.draw': 'application/vnd.sun.xml.draw',\n 'org.neooffice.global': 'application/vnd.sun.xml.writer.global',\n 'org.neooffice.impress': 'application/vnd.sun.xml.impress',\n 'org.neooffice.math': 'application/vnd.sun.xml.math',\n 'org.neooffice.writer': 'application/vnd.sun.xml.writer',\n 'org.oasis.opendocument.chart': 'application/vnd.oasis.opendocument.chart',\n 'org.oasis.opendocument.database': 'application/vnd.oasis.opendocument.database',\n 'org.oasis.opendocument.formula': 'application/vnd.oasis.opendocument.formula',\n 'org.oasis.opendocument.graphics': 'application/vnd.oasis.opendocument.graphics',\n 'org.oasis.opendocument.image': 'application/vnd.oasis.opendocument.image',\n 'org.oasis.opendocument.presentation': 'application/vnd.oasis.opendocument.presentation',\n 'org.oasis.opendocument.spreadsheet': 'application/vnd.oasis.opendocument.spreadsheet',\n 'org.oasis.opendocument.text': 'application/vnd.oasis.opendocument.text',\n 'org.oasis.opendocument.text-master': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.text-web': 'application/vnd.oasis.opendocument.text-web',\n 'org.tug.tex': 'text/tex',\n 'org.xiph.flac': 'audio/flac',\n 'org.xiph.ogg-theora': 'video/ogg',\n 'org.xiph.ogg-vorbis': 'audio/ogg',\n 'public.3gpp': 'video/3gpp',\n 'public.3gpp2': 'video/3gpp2',\n 'public.aifc-audio': 'audio/aiff',\n 'public.aiff-audio': 'audio/aiff',\n 'public.assembly-source': 'text/x-asm',\n 'public.avi': 'video/avi',\n 'public.c-header': 'text/x-c-header',\n 'public.cpio-archive': 'application/x-cpio',\n 'public.c-plus-plus-header': 'text/x-c++-hdr',\n 'public.c-plus-plus-source': 'application/x-cplusplus',\n 'public.csh-script': 'application/x-csh',\n 'public.c-source': 'text/x-c-code',\n 'public.css': 'text/css',\n 'public.dv': 'video/x-dv',\n 'public.flv': 'video/x-flv',\n 'public.html': 'text/html',\n 'public.iso-image': 'application/x-iso-image',\n 'public.jpeg': 'image/jpeg',\n 'public.jpeg2000': 'image/jp2',\n 'public.midi': 'audio/midi',\n 'public.mka': 'audio/x-matroska',\n 'public.mkv': 'video/x-matroska',\n 'public.mp3': 'audio/mp3',\n 'public.mpeg': 'video/mpeg',\n 'public.mpeg4': 'video/mp4',\n 'public.mpeg4-audio': 'audio/mp4',\n 'public.mpegts': 'video/MP2T',\n 'public.objective-c-plus-plus-source': 'text/x-objcppsrc',\n 'public.objective-c-source': 'text/x-objcsrc',\n 'public.opentype-font': 'font/opentype',\n 'public.perl-script': 'text/x-perl',\n 'public.php-script': 'text/php',\n 'public.plain-text': 'text/plain',\n 'public.png': 'image/png',\n 'public.python-script': 'text/x-python-script',\n 'public.rtf': 'text/rtf',\n 'public.shell-script': 'application/x-sh',\n 'public.tar-archive': 'application/tar',\n 'public.tiff': 'image/tiff',\n 'public.truetype-ttf-font': 'application/x-font-ttf',\n 'public.ulaw-audio': 'audio/au',\n 'public.vcard': 'text/vcard',\n 'public.webm': 'video/webm',\n 'public.xbitmap-image': 'image/xbm',\n 'public.xml': 'text/xml',\n 'unofficial.atom-feed': 'application/atom+xml',\n 'unofficial.m3u8-playlist': 'application/x-mpegURL',\n 'unofficial.opml': 'text/x-opml',\n 'unofficial.pls-playlist': 'audio/scpls',\n 'unofficial.rdf-feed': 'application/rdf+xml',\n 'unofficial.rss-feed': 'application/rss+xml',\n }\n\n utiExts: { [key: string]: string } = {\n jpg: 'public.jpeg',\n jpeg: 'public.jpeg',\n png: 'public.png',\n rtf: 'public.rtf',\n mpeg: 'public.mpeg',\n mpg: 'public.mpeg',\n html: 'public.html',\n htm: 'public.html',\n pdf: 'com.adobe.pdf',\n xls: 'com.microsoft.excel.xls',\n xlsx: 'com.microsoft.excel.xls',\n doc: 'com.microsoft.word.doc',\n docx: 'com.microsoft.word.doc',\n }\n\n utiDefs: { [key: string]: string } = {\n 'application/atom+xml': 'unofficial.atom-feed',\n 'application/bat': 'com.microsoft.windows-executable',\n 'application/binhex': 'com.apple.binhex-archive',\n 'application/binhex4': 'com.apple.binhex-archive',\n 'application/ecmascript': 'com.netscape.javascript-source',\n 'application/eps': 'com.adobe.encapsulated-postscript',\n 'application/excel': 'com.microsoft.excel.xls',\n 'application/exe': 'com.microsoft.windows-executable',\n 'application/gnutar': 'public.tar-archive',\n 'application/gzip': 'org.gnu.gnu-zip-archive',\n 'application/illustrator': 'com.adobe.illustrator.ai-image',\n 'application/indesign': 'com.adobe.indesign-image',\n 'application/java-archive': 'com.sun.java-archive',\n 'application/java-byte-code': 'com.sun.java-class',\n 'application/java': 'com.sun.java-class',\n 'application/javascript': 'com.netscape.javascript-source',\n 'application/jnlp': 'com.sun.java-web-start',\n 'application/latex': 'org.tug.tex',\n 'application/mac-binary': 'com.apple.macbinary-archive',\n 'application/mac-binhex': 'com.apple.binhex-archive',\n 'application/mac-binhex40': 'com.apple.binhex-archive',\n 'application/macbinary': 'com.apple.macbinary-archive',\n 'application/mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/msword': 'com.microsoft.word.doc',\n 'application/octet-stream': 'com.microsoft.windows-executable',\n 'application/pdf': 'com.adobe.pdf',\n 'application/photoshop': 'com.adobe.photoshop-image',\n 'application/php': 'public.php-script',\n 'application/plain': 'public.plain-text',\n 'application/postscript': 'com.adobe.postscript',\n 'application/powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/rar': 'com.rarlab.rar-archive',\n 'application/rdf+xml': 'unofficial.rdf-feed',\n 'application/rss+xml': 'unofficial.rss-feed',\n 'application/rtf': 'public.rtf',\n 'application/smil': 'com.real.smil',\n 'application/stuffit': 'com.allume.stuffit-archive',\n 'application/tar': 'public.tar-archive',\n 'application/tga': 'com.truevision.tga-image',\n 'application/vnd.fpx': 'com.kodak.flashpix.image',\n 'application/vnd.ms-excel': 'com.microsoft.excel.xls',\n 'application/vnd.ms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vnd.oasis.opendocument.chart': 'org.oasis.opendocument.chart',\n 'application/vnd.oasis.opendocument.database': 'org.oasis.opendocument.database',\n 'application/vnd.oasis.opendocument.formula': 'org.oasis.opendocument.formula',\n 'application/vnd.oasis.opendocument.graphics-template': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.graphics': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.image': 'org.oasis.opendocument.image',\n 'application/vnd.oasis.opendocument.presentation-template': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.presentation': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.spreadsheet-template': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.spreadsheet': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.text-master': 'org.oasis.opendocument.text-master',\n 'application/vnd.oasis.opendocument.text-template': 'org.oasis.opendocument.text',\n 'application/vnd.oasis.opendocument.text-web': 'org.oasis.opendocument.text-web',\n 'application/vnd.oasis.opendocument.text': 'org.oasis.opendocument.text',\n 'application/vnd.rn-realmedia': 'com.real.realmedia',\n 'application/vnd.sun.xml.calc.template': 'org.neooffice.calc',\n 'application/vnd.sun.xml.calc': 'org.neooffice.calc',\n 'application/vnd.sun.xml.draw.template': 'org.neooffice.draw',\n 'application/vnd.sun.xml.draw': 'org.neooffice.draw',\n 'application/vnd.sun.xml.impress.template': 'org.neooffice.impress',\n 'application/vnd.sun.xml.impress': 'org.neooffice.impress',\n 'application/vnd.sun.xml.math': 'org.neooffice.math',\n 'application/vnd.sun.xml.writer.global': 'org.neooffice.global',\n 'application/vnd.sun.xml.writer.template': 'org.neooffice.writer',\n 'application/vnd.sun.xml.writer': 'org.neooffice.writer',\n 'application/vndms-excel': 'com.microsoft.excel.xls',\n 'application/vndms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vndrn-realmedia': 'com.real.realmedia',\n 'application/x-apple-diskimage': 'com.apple.disk-image-udif',\n 'application/x-applescript': 'com.apple.applescript.script',\n 'application/x-bat': 'com.microsoft.windows-executable',\n 'application/x-binary': 'com.apple.macbinary-archive',\n 'application/x-binhex40': 'com.apple.binhex-archive',\n 'application/x-bittorrent': 'com.bittorrent.torrent',\n 'application/x-bzip2': 'org.bzip.bzip2-archive',\n 'application/x-cpio': 'public.cpio-archive',\n 'application/x-cplusplus': 'public.c-plus-plus-source',\n 'application/x-csh': 'public.csh-script',\n 'application/x-deb': 'org.debian.debian-package',\n 'application/x-debian-package': 'org.debian.debian-package',\n 'application/x-eps': 'com.adobe.encapsulated-postscript',\n 'application/x-excel': 'com.microsoft.excel.xls',\n 'application/x-exe': 'com.microsoft.windows-executable',\n 'application/x-flac': 'org.xiph.flac',\n 'application/x-font-ttf': 'public.truetype-ttf-font',\n 'application/x-font-type1': 'com.adobe.postscript-pfa-font',\n 'application/x-gtar': 'org.gnu.gnu-tar-archive',\n 'application/x-gzip': 'org.gnu.gnu-zip-archive',\n 'application/x-iso-image': 'public.iso-image',\n 'application/x-java-class': 'com.sun.java-class',\n 'application/x-java': 'com.sun.java-web-start',\n 'application/x-javascript': 'com.netscape.javascript-source',\n 'application/x-latex': 'org.tug.tex',\n 'application/x-mac-binhex40': 'com.apple.binhex-archive',\n 'application/x-macbinary': 'com.apple.macbinary-archive',\n 'application/x-midi': 'public.midi',\n 'application/x-mpegURL': 'unofficial.m3u8-playlist',\n 'application/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'application/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'application/x-msdos-program': 'com.microsoft.windows-executable',\n 'application/x-msdownload': 'com.microsoft.windows-executable',\n 'application/x-msexcel': 'com.microsoft.excel.xls',\n 'application/x-mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/x-pdf': 'com.adobe.pdf',\n 'application/x-perl': 'public.perl-script',\n 'application/x-php': 'public.php-script',\n 'application/x-quartzcomposer': 'com.apple.quartz-composer-composition',\n 'application/x-rar-compressed': 'com.rarlab.rar-archive',\n 'application/x-redhat-package': 'com.redhat.redhat-package',\n 'application/x-rpm': 'com.redhat.redhat-package',\n 'application/x-rtf': 'public.rtf',\n 'application/x-sh': 'public.shell-script',\n 'application/x-shellscript': 'public.shell-script',\n 'application/x-shockwave-flash': 'com.macromedia.shockwave-flash',\n 'application/x-sit': 'com.allume.stuffit-archive',\n 'application/x-smil': 'com.real.smil',\n 'application/x-soundfont': 'com.soundblaster.soundfont',\n 'application/x-stuffit': 'com.allume.stuffit-archive',\n 'application/x-tar': 'public.tar-archive',\n 'application/x-tex': 'org.tug.tex',\n 'application/x-texinfo': 'org.tug.tex',\n 'application/x-troff-msvideo': 'public.avi',\n 'application/x-zip-compressed': 'com.pkware.zip-archive',\n 'application/xhtml+xml': 'public.html',\n 'application/xml': 'public.xml',\n 'application/zip': 'com.pkware.zip-archive',\n 'audio/3gpp': 'public.3gpp',\n 'audio/3gpp2': 'public.3gpp2',\n 'audio/aiff': 'public.aiff-audio',\n 'audio/au': 'public.ulaw-audio',\n 'audio/basic': 'public.ulaw-audio',\n 'audio/flac': 'org.xiph.flac',\n 'audio/mid': 'public.midi',\n 'audio/midi': 'public.midi',\n 'audio/mp3': 'public.mp3',\n 'audio/mp4': 'public.mpeg4-audio',\n 'audio/mp4a-latm': 'public.mpeg4-audio',\n 'audio/mpeg': 'public.mp3',\n 'audio/mpeg3': 'public.mp3',\n 'audio/mpegurl': 'unofficial.m3u-playlist',\n 'audio/mpg': 'public.mp3',\n 'audio/ogg': 'org.xiph.ogg-vorbis',\n 'audio/scpls': 'unofficial.pls-playlist',\n 'audio/snd': 'public.ulaw-audio',\n 'audio/vnd.rn-realaudio': 'com.real.realaudio',\n 'audio/wav': 'com.microsoft.waveform-audio',\n 'audio/wave': 'com.microsoft.waveform-audio',\n 'audio/webm': 'public.webm',\n 'audio/x-adpcm': 'public.ulaw-audio',\n 'audio/x-aiff': 'public.aiff-audio',\n 'audio/x-au': 'public.ulaw-audio',\n 'audio/x-flac': 'org.xiph.flac',\n 'audio/x-matroska': 'public.mka',\n 'audio/x-mid': 'public.midi',\n 'audio/x-midi': 'public.midi',\n 'audio/x-mp3': 'public.mp3',\n 'audio/x-mpeg-3': 'public.mp3',\n 'audio/x-mpeg': 'public.mp3',\n 'audio/x-mpeg3': 'public.mp3',\n 'audio/x-mpegurl': 'unofficial.m3u-playlist',\n 'audio/x-mpg': 'public.mp3',\n 'audio/x-ms-wax': 'com.microsoft.windows-media-wax',\n 'audio/x-ms-wma': 'com.microsoft.windows-media-wma',\n 'audio/x-ogg': 'org.xiph.ogg-vorbis',\n 'audio/x-pn-realaudio-plugin': 'com.real.realaudio',\n 'audio/x-pn-realaudio': 'com.real.realaudio',\n 'audio/x-pn-wav': 'com.microsoft.waveform-audio',\n 'audio/x-realaudio': 'com.real.realmedia',\n 'audio/x-scpls': 'unofficial.pls-playlist',\n 'audio/x-wav': 'com.microsoft.waveform-audio',\n 'font/opentype': 'public.opentype-font',\n 'image/bmp': 'com.microsoft.bmp',\n 'image/efax': 'com.js.efx-fax',\n 'image/eps': 'com.adobe.encapsulated-postscript',\n 'image/fpx': 'com.kodak.flashpix.image',\n 'image/gif': 'com.compuserve.gif',\n 'image/indd': 'com.adobe.indesign-image',\n 'image/indesign': 'com.adobe.indesign-image',\n 'image/jp2': 'public.jpeg2000',\n 'image/jpeg': 'public.jpeg',\n 'image/ms-bmp': 'com.microsoft.bmp',\n 'image/photoshop': 'com.adobe.photoshop-image',\n 'image/pict': 'com.apple.pict',\n 'image/pipeg': 'public.jpeg',\n 'image/pjpeg': 'public.jpeg',\n 'image/png': 'public.png',\n 'image/psd': 'com.adobe.photoshop-image',\n 'image/sgi': 'com.sgi.sgi-image',\n 'image/targa': 'com.truevision.tga-image',\n 'image/tga': 'com.truevision.tga-image',\n 'image/tiff': 'public.tiff',\n 'image/vnd.djvu': 'com.lizardtech.djvu',\n 'image/vndfpx': 'com.kodak.flashpix.image',\n 'image/vndnet-fpx': 'com.kodak.flashpix.image',\n 'image/webp': 'public.webp',\n 'image/x-bitmap': 'com.microsoft.bmp',\n 'image/x-bmp': 'com.microsoft.bmp',\n 'image/x-djvu': 'com.lizardtech.djvu',\n 'image/x-eps': 'com.adobe.encapsulated-postscript',\n 'image/x-icon': 'com.microsoft.ico',\n 'image/x-indesign': 'com.adobe.indesign-image',\n 'image/x-macpict': 'com.apple.pict',\n 'image/x-ms-bmp': 'com.microsoft.bmp',\n 'image/x-photoshop': 'com.adobe.photoshop-image',\n 'image/x-pict': 'com.apple.pict',\n 'image/x-quicktime': 'com.apple.quicktime-image',\n 'image/x-tiff': 'public.tiff',\n 'image/x-windows-bmp': 'com.microsoft.bmp',\n 'image/x-xbitmap': 'com.microsoft.bmp',\n 'image/x-xbm': 'public.xbitmap-image',\n 'image/xbm': 'public.xbitmap-image',\n 'multipart/x-gzip': 'org.gnu.gnu-zip-archive',\n 'multipart/x-zip': 'com.pkware.zip-archive',\n 'music/crescendo': 'public.midi',\n 'text/calendar': 'com.apple.ical.ics',\n 'text/css': 'public.css',\n 'text/directory': 'public.vcard',\n 'text/ecmascript': 'com.netscape.javascript-source',\n 'text/html': 'public.html',\n 'text/javascript': 'com.netscape.javascript-source',\n 'text/php': 'public.php-script',\n 'text/plain': 'public.plain-text',\n 'text/richtext': 'public.rtf',\n 'text/rtf': 'public.rtf',\n 'text/ruby-script': 'public.ruby-script',\n 'text/tex': 'org.tug.tex',\n 'text/vcard': 'public.vcard',\n 'text/vnd.sun.j2me.app-descriptor': 'com.sun.java-app-descriptor',\n 'text/x-asm': 'public.assembly-source',\n 'text/x-c-code': 'public.c-source',\n 'text/x-c-header': 'public.c-header',\n 'text/x-c': 'public.c-source',\n 'text/x-c++-code': 'public.c-plus-plus-source',\n 'text/x-c++-hdr': 'public.c-plus-plus-header',\n 'text/x-c++-src': 'public.c-plus-plus-source',\n 'text/x-c++src': 'public.c-plus-plus-source',\n 'text/x-h': 'public.c-header',\n 'text/x-java-source': 'com.sun.java-source',\n 'text/x-latex': 'org.tug.tex',\n 'text/x-objcppsrc': 'public.objective-c-plus-plus-source',\n 'text/x-objcsrc': 'public.objective-c-source',\n 'text/x-opml': 'unofficial.opml',\n 'text/x-perl-script': 'public.perl-script',\n 'text/x-perl': 'public.perl-script',\n 'text/x-php-script': 'public.php-script',\n 'text/x-python-script': 'public.python-script',\n 'text/x-python': 'public.python-script',\n 'text/x-scriptcsh': 'public.csh-script',\n 'text/x-scriptperl-module': 'public.perl-script',\n 'text/x-scriptperl': 'public.perl-script',\n 'text/x-scriptphyton': 'public.python-script',\n 'text/x-scriptsh': 'public.shell-script',\n 'text/x-server-parsed-html': 'public.html',\n 'text/x-tex': 'org.tug.tex',\n 'text/x-vcalendar': 'com.apple.ical.vcs',\n 'text/x-vcard': 'public.vcard',\n 'text/xhtml': 'public.html',\n 'text/xml': 'public.xml',\n 'video/3gpp': 'public.3gpp',\n 'video/3gpp2': 'public.3gpp2',\n 'video/avi': 'public.avi',\n 'video/MP2T': 'public.mpegts',\n 'video/mp4': 'public.mpeg4',\n 'video/mp4v': 'public.mpeg4',\n 'video/mpeg': 'public.mpeg',\n 'video/mpg': 'public.mpeg',\n 'video/msvideo': 'public.avi',\n 'video/ogg': 'org.xiph.ogg-theora',\n 'video/quicktime': 'com.apple.quicktime-movie',\n 'video/webm': 'public.webm',\n 'video/x-dv': 'public.dv',\n 'video/x-flv': 'public.flv',\n 'video/x-m4v': 'public.mpeg4',\n 'video/x-matroska': 'public.mkv',\n 'video/x-mpeg': 'public.mpeg',\n 'video/x-mpg': 'public.mpeg',\n 'video/x-ms-asf-plugin': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asf': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asx': 'com.microsoft.advanced-stream-redirector',\n 'video/x-ms-wm': 'com.microsoft.windows-media-wm',\n 'video/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'video/x-ms-wmp': 'com.microsoft.windows-media-wmp',\n 'video/x-ms-wmv': 'com.microsoft.windows-media-wmv',\n 'video/x-ms-wmx': 'com.microsoft.windows-media-wmx',\n 'video/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'video/x-ms-wvx': 'com.microsoft.windows-media-wvx',\n 'video/x-msvideo': 'public.avi',\n 'video/x-ogg': 'org.xiph.ogg-theora',\n 'x-msdos-program': 'com.microsoft.windows-executable',\n 'x-music/x-midi': 'public.midi',\n }\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n private crypto: IccCryptoXApi,\n private authApi: IccAuthApi,\n dataOwnerApi: IccDataOwnerXApi,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, fetchImpl)\n this.fetchImpl = fetchImpl\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, message?: models.Message, c: any = {}) {\n const document = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Document',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c\n )\n\n return this.initDelegationsAndEncryptionKeys(user, message, document)\n }\n\n initEncryptionKeys(user: models.User, document: models.Document) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(document, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(document, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto.appendEncryptionKeys(document, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n message: models.Message | undefined = undefined,\n document: models.Document\n ): Promise<models.Document> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(message || null, dataOwnerId)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(document, message, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(document, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(document, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(document)\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto\n .addDelegationsAndEncryptionKeys(message || null, document, dataOwnerId!, delegateId, dels.secretId, eks.secretId)\n .catch((e) => {\n console.log(e)\n return document\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n findByMessage(hcpartyId: string, message: models.Message) {\n return this.crypto\n .extractDelegationsSFKs(message, hcpartyId)\n .then((secretForeignKeys) =>\n this.findDocumentsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((documents) => this.decrypt(hcpartyId, documents))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, documents: Array<models.Document>): Promise<Array<models.Document>> {\n return Promise.all(\n documents.map((document) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(\n hcpartyId,\n document.id!,\n _.size(document.encryptionKeys) ? document.encryptionKeys! : document.delegations!\n )\n .then(({ extractedKeys: sfks }) => {\n if (!sfks || !sfks.length) {\n console.log('Cannot decrypt document', document.id)\n return Promise.resolve(document)\n }\n\n if (sfks.length && (document.encryptedSelf || document.encryptedAttachment)) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then((key: CryptoKey) =>\n Promise.all([\n document.encryptedSelf\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(document.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n document.encryptedAttachment\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, document.encryptedAttachment!).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n ])\n )\n .then((decrypted: [ArrayBuffer | null, ArrayBuffer | null]) => {\n if (decrypted) {\n if (decrypted[0]) {\n document = _.extend(document, JSON.parse(ua2string(decrypted[0])))\n }\n if (decrypted[1]) {\n document.decryptedAttachment = decrypted[1]\n }\n }\n return document\n })\n } else {\n return Promise.resolve(document)\n }\n })\n )\n ).catch(function (e: Error) {\n console.log(e)\n return Promise.resolve(documents)\n })\n }\n\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/octet-stream\", enckeys?: string, fileName?: string): Promise<ArrayBuffer>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"text/plain\", enckeys?: string, fileName?: string): Promise<string>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/json\", enckeys?: string, fileName?: string): Promise<any>\n getAttachmentAs(\n documentId: string,\n attachmentId: string,\n returnType: 'application/octet-stream' | 'text/plain' | 'application/json',\n enckeys?: string,\n fileName?: string\n ): Promise<any> {\n const url =\n this.host +\n `/document/${documentId}/attachment/${attachmentId}` +\n '?ts=' +\n new Date().getTime() +\n (enckeys ? `&enckeys=${enckeys}` : '') +\n (fileName ? `&fileName=${fileName}` : '')\n return XHR.sendCommand('GET', url, this.headers, null, this.fetchImpl, returnType)\n .then((doc) => doc.body)\n .catch((err) => this.handleError(err))\n }\n\n // noinspection JSUnusedGlobalSymbols\n getAttachmentUrl(documentId: string, attachmentId: string, sfks: Array<{ delegatorId: string; key: CryptoKey }>, fileName?: string) {\n return this.authApi\n .token('GET', `/rest/v1/document/${documentId}/attachment/${attachmentId}`)\n .then(\n (token) =>\n this.host +\n `/document/${documentId}/attachment/${attachmentId}${token ? `;tokenid=${token}` : ''}` +\n (sfks && sfks.length ? '?enckeys=' + sfks.join(',') : '') +\n (fileName && fileName.length ? `${sfks && sfks.length ? '&' : '?'}fileName=${encodeURIComponent(fileName)}` : '')\n )\n }\n\n // noinspection JSUnusedGlobalSymbols\n uti(mimeType: string, extension: string) {\n return (mimeType && mimeType !== 'application/octet-stream' ? this.utiDefs[mimeType] : this.utiExts[extension]) || this.utiDefs[mimeType]\n }\n\n // noinspection JSUnusedGlobalSymbols\n mimeType(uti: string) {\n return this.utiRevDefs[uti]\n }\n}\n"]}
1
+ {"version":3,"file":"icc-document-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-document-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccAuthApi, IccDocumentApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport { XHR } from '../icc-api/api/XHR'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { AuthenticationProvider } from './auth/AuthenticationProvider'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccDocumentXApi extends IccDocumentApi {\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response>\n\n /** maps invalid UTI values to corresponding MIME type for backward-compatibility (pre-v1.0.117) */\n compatUtiRevDefs: { [key: string]: string } = {\n 'com.adobe.encapsulatedPostscript': 'image/eps',\n 'com.adobe.illustrator.aiImage': 'application/illustrator',\n 'com.adobe.indesignImage': 'image/indesign',\n 'com.adobe.photoshopImage': 'image/psd',\n 'com.adobe.postscriptPfaFont': 'application/x-font-type1',\n 'com.adobe.postscriptPfbFont': 'application/x-font-type1',\n 'com.allume.stuffitArchive': 'application/stuffit',\n 'com.apple.binhexArchive': 'application/binhex',\n 'com.apple.diskImageUdif': 'application/x-apple-diskimage',\n 'com.apple.macbinaryArchive': 'application/macbinary',\n 'com.apple.quartzComposerComposition': 'application/x-quartzcomposer',\n 'com.apple.quicktimeImage': 'image/x-quicktime',\n 'com.apple.quicktimeMovie': 'video/quicktime',\n 'com.js.efxFax': 'image/efax',\n 'com.macromedia.shockwaveFlash': 'application/x-shockwave-flash',\n 'com.microsoft.advancedStreamRedirector': 'video/x-ms-asx',\n 'com.microsoft.advancedSystemsFormat': 'video/x-ms-asf',\n 'com.microsoft.waveformAudio': 'audio/wave',\n 'com.microsoft.windowsDynamicLinkLibrary': 'application/x-msdownload',\n 'com.microsoft.windowsExecutable': 'application/exe',\n 'com.microsoft.windowsMediaWax': 'audio/x-ms-wax',\n 'com.microsoft.windowsMediaWm': 'video/x-ms-wm',\n 'com.microsoft.windowsMediaWma': 'audio/x-ms-wma',\n 'com.microsoft.windowsMediaWmd': 'video/x-ms-wmd',\n 'com.microsoft.windowsMediaWmp': 'video/x-ms-wmp',\n 'com.microsoft.windowsMediaWmv': 'video/x-ms-wmv',\n 'com.microsoft.windowsMediaWmx': 'video/x-ms-wmx',\n 'com.microsoft.windowsMediaWmz': 'video/x-ms-wmz',\n 'com.microsoft.windowsMediaWvx': 'video/x-ms-wvx',\n 'com.netscape.javascriptSource': 'text/javascript',\n 'com.pkware.zipArchive': 'application/zip',\n 'com.rarlab.rarArchive': 'application/rar',\n 'com.redhat.redhatPackage': 'application/x-redhat-package',\n 'com.sgi.sgiImage': 'image/sgi',\n 'com.sun.javaAppDescriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.javaArchive': 'application/java-archive',\n 'com.sun.javaClass': 'application/java',\n 'com.sun.javaSource': 'text/x-java-source',\n 'com.sun.javaWebStart': 'application/jnlp',\n 'com.truevision.tgaImage': 'image/tga',\n 'org.bzip.bzip2Archive': 'application/x-bzip2',\n 'org.debian.debianPackage': 'application/x-debian-package',\n 'org.gnu.gnuTarArchive': 'application/x-gtar',\n 'org.gnu.gnuZipArchive': 'application/gzip',\n 'org.oasis.opendocument.textMaster': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.textWeb': 'application/vnd.oasis.opendocument.text-web',\n 'org.xiph.oggTheora': 'video/ogg',\n 'org.xiph.oggVorbis': 'audio/ogg',\n 'public.aifcAudio': 'audio/aiff',\n 'public.aiffAudio': 'audio/aiff',\n 'public.assemblySource': 'text/x-asm',\n 'public.cHeader': 'text/x-c-header',\n 'public.cpioArchive': 'application/x-cpio',\n 'public.cPlusPlusHeader': 'text/x-c++-hdr',\n 'public.cPlusPlusSource': 'application/x-cplusplus',\n 'public.cshScript': 'application/x-csh',\n 'public.cSource': 'text/x-c-code',\n 'public.isoImage': 'application/x-iso-image',\n 'public.mpeg4Audio': 'audio/mp4',\n 'public.objectiveCPlusPlusSource': 'text/x-objcppsrc',\n 'public.objectiveCSource': 'text/x-objcsrc',\n 'public.opentypeFont': 'font/opentype',\n 'public.perlScript': 'text/x-perl',\n 'public.phpScript': 'text/php',\n 'public.plainText': 'text/plain',\n 'public.pythonScript': 'text/x-python-script',\n 'public.shellScript': 'application/x-sh',\n 'public.tarArchive': 'application/tar',\n 'public.truetypeTtfFont': 'application/x-font-ttf',\n 'public.ulawAudio': 'audio/au',\n 'public.xbitmapImage': 'image/xbm',\n 'unofficial.atomFeed': 'application/atom+xml',\n 'unofficial.m3u8Playlist': 'application/x-mpegURL',\n 'unofficial.plsPlaylist': 'audio/scpls',\n 'unofficial.rdfFeed': 'application/rdf+xml',\n 'unofficial.rssFeed': 'application/rss+xml',\n }\n\n utiRevDefs: { [key: string]: string } = {\n ...this.compatUtiRevDefs,\n 'com.adobe.encapsulated-postscript': 'image/eps',\n 'com.adobe.illustrator.ai-image': 'application/illustrator',\n 'com.adobe.indesign-image': 'image/indesign',\n 'com.adobe.pdf': 'application/pdf',\n 'com.adobe.photoshop-image': 'image/psd',\n 'com.adobe.postscript': 'application/postscript',\n 'com.adobe.postscript-pfa-font': 'application/x-font-type1',\n 'com.adobe.postscript-pfb-font': 'application/x-font-type1',\n 'com.allume.stuffit-archive': 'application/stuffit',\n 'com.apple.applescript.script': 'application/x-applescript',\n 'com.apple.applescript.text': 'application/x-applescript',\n 'com.apple.binhex-archive': 'application/binhex',\n 'com.apple.disk-image-udif': 'application/x-apple-diskimage',\n 'com.apple.ical.ics': 'text/calendar',\n 'com.apple.ical.vcs': 'text/x-vcalendar',\n 'com.apple.macbinary-archive': 'application/macbinary',\n 'com.apple.pict': 'image/pict',\n 'com.apple.quartz-composer-composition': 'application/x-quartzcomposer',\n 'com.apple.quicktime-image': 'image/x-quicktime',\n 'com.apple.quicktime-movie': 'video/quicktime',\n 'com.bittorrent.torrent': 'application/x-bittorrent',\n 'com.compuserve.gif': 'image/gif',\n 'com.js.efx-fax': 'image/efax',\n 'com.kodak.flashpix.image': 'image/vndfpx',\n 'com.lizardtech.djvu': 'image/vnd.djvu',\n 'com.macromedia.shockwave-flash': 'application/x-shockwave-flash',\n 'com.microsoft.advanced-stream-redirector': 'video/x-ms-asx',\n 'com.microsoft.advanced-systems-format': 'video/x-ms-asf',\n 'com.microsoft.bmp': 'image/bmp',\n 'com.microsoft.excel.xls': 'application/excel',\n 'com.microsoft.ico': 'image/x-icon',\n 'com.microsoft.powerpoint.ppt': 'application/powerpoint',\n 'com.microsoft.waveform-audio': 'audio/wave',\n 'com.microsoft.windows-dynamic-link-library': 'application/x-msdownload',\n 'com.microsoft.windows-executable': 'application/exe',\n 'com.microsoft.windows-media-wax': 'audio/x-ms-wax',\n 'com.microsoft.windows-media-wm': 'video/x-ms-wm',\n 'com.microsoft.windows-media-wma': 'audio/x-ms-wma',\n 'com.microsoft.windows-media-wmd': 'video/x-ms-wmd',\n 'com.microsoft.windows-media-wmp': 'video/x-ms-wmp',\n 'com.microsoft.windows-media-wmv': 'video/x-ms-wmv',\n 'com.microsoft.windows-media-wmx': 'video/x-ms-wmx',\n 'com.microsoft.windows-media-wmz': 'video/x-ms-wmz',\n 'com.microsoft.windows-media-wvx': 'video/x-ms-wvx',\n 'com.microsoft.word.doc': 'application/msword',\n 'com.netscape.javascript-source': 'text/javascript',\n 'com.pkware.zip-archive': 'application/zip',\n 'com.rarlab.rar-archive': 'application/rar',\n 'com.real.realaudio': 'audio/vnd.rn-realaudio',\n 'com.real.realmedia': 'application/vnd.rn-realmedia',\n 'com.real.smil': 'application/smil',\n 'com.redhat.redhat-package': 'application/x-redhat-package',\n 'com.sgi.sgi-image': 'image/sgi',\n 'com.soundblaster.soundfont': 'application/x-soundfont',\n 'com.sun.java-app-descriptor': 'text/vnd.sun.j2me.app-descriptor',\n 'com.sun.java-archive': 'application/java-archive',\n 'com.sun.java-class': 'application/java',\n 'com.sun.java-source': 'text/x-java-source',\n 'com.sun.java-web-start': 'application/jnlp',\n 'com.truevision.tga-image': 'image/tga',\n 'org.bzip.bzip2-archive': 'application/x-bzip2',\n 'org.debian.debian-package': 'application/x-debian-package',\n 'org.gnu.gnu-tar-archive': 'application/x-gtar',\n 'org.gnu.gnu-zip-archive': 'application/gzip',\n 'org.neooffice.calc': 'application/vnd.sun.xml.calc',\n 'org.neooffice.draw': 'application/vnd.sun.xml.draw',\n 'org.neooffice.global': 'application/vnd.sun.xml.writer.global',\n 'org.neooffice.impress': 'application/vnd.sun.xml.impress',\n 'org.neooffice.math': 'application/vnd.sun.xml.math',\n 'org.neooffice.writer': 'application/vnd.sun.xml.writer',\n 'org.oasis.opendocument.chart': 'application/vnd.oasis.opendocument.chart',\n 'org.oasis.opendocument.database': 'application/vnd.oasis.opendocument.database',\n 'org.oasis.opendocument.formula': 'application/vnd.oasis.opendocument.formula',\n 'org.oasis.opendocument.graphics': 'application/vnd.oasis.opendocument.graphics',\n 'org.oasis.opendocument.image': 'application/vnd.oasis.opendocument.image',\n 'org.oasis.opendocument.presentation': 'application/vnd.oasis.opendocument.presentation',\n 'org.oasis.opendocument.spreadsheet': 'application/vnd.oasis.opendocument.spreadsheet',\n 'org.oasis.opendocument.text': 'application/vnd.oasis.opendocument.text',\n 'org.oasis.opendocument.text-master': 'application/vnd.oasis.opendocument.text-master',\n 'org.oasis.opendocument.text-web': 'application/vnd.oasis.opendocument.text-web',\n 'org.tug.tex': 'text/tex',\n 'org.xiph.flac': 'audio/flac',\n 'org.xiph.ogg-theora': 'video/ogg',\n 'org.xiph.ogg-vorbis': 'audio/ogg',\n 'public.3gpp': 'video/3gpp',\n 'public.3gpp2': 'video/3gpp2',\n 'public.aifc-audio': 'audio/aiff',\n 'public.aiff-audio': 'audio/aiff',\n 'public.assembly-source': 'text/x-asm',\n 'public.avi': 'video/avi',\n 'public.c-header': 'text/x-c-header',\n 'public.cpio-archive': 'application/x-cpio',\n 'public.c-plus-plus-header': 'text/x-c++-hdr',\n 'public.c-plus-plus-source': 'application/x-cplusplus',\n 'public.csh-script': 'application/x-csh',\n 'public.c-source': 'text/x-c-code',\n 'public.css': 'text/css',\n 'public.dv': 'video/x-dv',\n 'public.flv': 'video/x-flv',\n 'public.html': 'text/html',\n 'public.iso-image': 'application/x-iso-image',\n 'public.jpeg': 'image/jpeg',\n 'public.jpeg2000': 'image/jp2',\n 'public.midi': 'audio/midi',\n 'public.mka': 'audio/x-matroska',\n 'public.mkv': 'video/x-matroska',\n 'public.mp3': 'audio/mp3',\n 'public.mpeg': 'video/mpeg',\n 'public.mpeg4': 'video/mp4',\n 'public.mpeg4-audio': 'audio/mp4',\n 'public.mpegts': 'video/MP2T',\n 'public.objective-c-plus-plus-source': 'text/x-objcppsrc',\n 'public.objective-c-source': 'text/x-objcsrc',\n 'public.opentype-font': 'font/opentype',\n 'public.perl-script': 'text/x-perl',\n 'public.php-script': 'text/php',\n 'public.plain-text': 'text/plain',\n 'public.png': 'image/png',\n 'public.python-script': 'text/x-python-script',\n 'public.rtf': 'text/rtf',\n 'public.shell-script': 'application/x-sh',\n 'public.tar-archive': 'application/tar',\n 'public.tiff': 'image/tiff',\n 'public.truetype-ttf-font': 'application/x-font-ttf',\n 'public.ulaw-audio': 'audio/au',\n 'public.vcard': 'text/vcard',\n 'public.webm': 'video/webm',\n 'public.xbitmap-image': 'image/xbm',\n 'public.xml': 'text/xml',\n 'unofficial.atom-feed': 'application/atom+xml',\n 'unofficial.m3u8-playlist': 'application/x-mpegURL',\n 'unofficial.opml': 'text/x-opml',\n 'unofficial.pls-playlist': 'audio/scpls',\n 'unofficial.rdf-feed': 'application/rdf+xml',\n 'unofficial.rss-feed': 'application/rss+xml',\n }\n\n utiExts: { [key: string]: string } = {\n jpg: 'public.jpeg',\n jpeg: 'public.jpeg',\n png: 'public.png',\n rtf: 'public.rtf',\n mpeg: 'public.mpeg',\n mpg: 'public.mpeg',\n html: 'public.html',\n htm: 'public.html',\n pdf: 'com.adobe.pdf',\n xls: 'com.microsoft.excel.xls',\n xlsx: 'com.microsoft.excel.xls',\n doc: 'com.microsoft.word.doc',\n docx: 'com.microsoft.word.doc',\n }\n\n utiDefs: { [key: string]: string } = {\n 'application/atom+xml': 'unofficial.atom-feed',\n 'application/bat': 'com.microsoft.windows-executable',\n 'application/binhex': 'com.apple.binhex-archive',\n 'application/binhex4': 'com.apple.binhex-archive',\n 'application/ecmascript': 'com.netscape.javascript-source',\n 'application/eps': 'com.adobe.encapsulated-postscript',\n 'application/excel': 'com.microsoft.excel.xls',\n 'application/exe': 'com.microsoft.windows-executable',\n 'application/gnutar': 'public.tar-archive',\n 'application/gzip': 'org.gnu.gnu-zip-archive',\n 'application/illustrator': 'com.adobe.illustrator.ai-image',\n 'application/indesign': 'com.adobe.indesign-image',\n 'application/java-archive': 'com.sun.java-archive',\n 'application/java-byte-code': 'com.sun.java-class',\n 'application/java': 'com.sun.java-class',\n 'application/javascript': 'com.netscape.javascript-source',\n 'application/jnlp': 'com.sun.java-web-start',\n 'application/latex': 'org.tug.tex',\n 'application/mac-binary': 'com.apple.macbinary-archive',\n 'application/mac-binhex': 'com.apple.binhex-archive',\n 'application/mac-binhex40': 'com.apple.binhex-archive',\n 'application/macbinary': 'com.apple.macbinary-archive',\n 'application/mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/msword': 'com.microsoft.word.doc',\n 'application/octet-stream': 'com.microsoft.windows-executable',\n 'application/pdf': 'com.adobe.pdf',\n 'application/photoshop': 'com.adobe.photoshop-image',\n 'application/php': 'public.php-script',\n 'application/plain': 'public.plain-text',\n 'application/postscript': 'com.adobe.postscript',\n 'application/powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/rar': 'com.rarlab.rar-archive',\n 'application/rdf+xml': 'unofficial.rdf-feed',\n 'application/rss+xml': 'unofficial.rss-feed',\n 'application/rtf': 'public.rtf',\n 'application/smil': 'com.real.smil',\n 'application/stuffit': 'com.allume.stuffit-archive',\n 'application/tar': 'public.tar-archive',\n 'application/tga': 'com.truevision.tga-image',\n 'application/vnd.fpx': 'com.kodak.flashpix.image',\n 'application/vnd.ms-excel': 'com.microsoft.excel.xls',\n 'application/vnd.ms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vnd.oasis.opendocument.chart': 'org.oasis.opendocument.chart',\n 'application/vnd.oasis.opendocument.database': 'org.oasis.opendocument.database',\n 'application/vnd.oasis.opendocument.formula': 'org.oasis.opendocument.formula',\n 'application/vnd.oasis.opendocument.graphics-template': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.graphics': 'org.oasis.opendocument.graphics',\n 'application/vnd.oasis.opendocument.image': 'org.oasis.opendocument.image',\n 'application/vnd.oasis.opendocument.presentation-template': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.presentation': 'org.oasis.opendocument.presentation',\n 'application/vnd.oasis.opendocument.spreadsheet-template': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.spreadsheet': 'org.oasis.opendocument.spreadsheet',\n 'application/vnd.oasis.opendocument.text-master': 'org.oasis.opendocument.text-master',\n 'application/vnd.oasis.opendocument.text-template': 'org.oasis.opendocument.text',\n 'application/vnd.oasis.opendocument.text-web': 'org.oasis.opendocument.text-web',\n 'application/vnd.oasis.opendocument.text': 'org.oasis.opendocument.text',\n 'application/vnd.rn-realmedia': 'com.real.realmedia',\n 'application/vnd.sun.xml.calc.template': 'org.neooffice.calc',\n 'application/vnd.sun.xml.calc': 'org.neooffice.calc',\n 'application/vnd.sun.xml.draw.template': 'org.neooffice.draw',\n 'application/vnd.sun.xml.draw': 'org.neooffice.draw',\n 'application/vnd.sun.xml.impress.template': 'org.neooffice.impress',\n 'application/vnd.sun.xml.impress': 'org.neooffice.impress',\n 'application/vnd.sun.xml.math': 'org.neooffice.math',\n 'application/vnd.sun.xml.writer.global': 'org.neooffice.global',\n 'application/vnd.sun.xml.writer.template': 'org.neooffice.writer',\n 'application/vnd.sun.xml.writer': 'org.neooffice.writer',\n 'application/vndms-excel': 'com.microsoft.excel.xls',\n 'application/vndms-powerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/vndrn-realmedia': 'com.real.realmedia',\n 'application/x-apple-diskimage': 'com.apple.disk-image-udif',\n 'application/x-applescript': 'com.apple.applescript.script',\n 'application/x-bat': 'com.microsoft.windows-executable',\n 'application/x-binary': 'com.apple.macbinary-archive',\n 'application/x-binhex40': 'com.apple.binhex-archive',\n 'application/x-bittorrent': 'com.bittorrent.torrent',\n 'application/x-bzip2': 'org.bzip.bzip2-archive',\n 'application/x-cpio': 'public.cpio-archive',\n 'application/x-cplusplus': 'public.c-plus-plus-source',\n 'application/x-csh': 'public.csh-script',\n 'application/x-deb': 'org.debian.debian-package',\n 'application/x-debian-package': 'org.debian.debian-package',\n 'application/x-eps': 'com.adobe.encapsulated-postscript',\n 'application/x-excel': 'com.microsoft.excel.xls',\n 'application/x-exe': 'com.microsoft.windows-executable',\n 'application/x-flac': 'org.xiph.flac',\n 'application/x-font-ttf': 'public.truetype-ttf-font',\n 'application/x-font-type1': 'com.adobe.postscript-pfa-font',\n 'application/x-gtar': 'org.gnu.gnu-tar-archive',\n 'application/x-gzip': 'org.gnu.gnu-zip-archive',\n 'application/x-iso-image': 'public.iso-image',\n 'application/x-java-class': 'com.sun.java-class',\n 'application/x-java': 'com.sun.java-web-start',\n 'application/x-javascript': 'com.netscape.javascript-source',\n 'application/x-latex': 'org.tug.tex',\n 'application/x-mac-binhex40': 'com.apple.binhex-archive',\n 'application/x-macbinary': 'com.apple.macbinary-archive',\n 'application/x-midi': 'public.midi',\n 'application/x-mpegURL': 'unofficial.m3u8-playlist',\n 'application/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'application/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'application/x-msdos-program': 'com.microsoft.windows-executable',\n 'application/x-msdownload': 'com.microsoft.windows-executable',\n 'application/x-msexcel': 'com.microsoft.excel.xls',\n 'application/x-mspowerpoint': 'com.microsoft.powerpoint.ppt',\n 'application/x-pdf': 'com.adobe.pdf',\n 'application/x-perl': 'public.perl-script',\n 'application/x-php': 'public.php-script',\n 'application/x-quartzcomposer': 'com.apple.quartz-composer-composition',\n 'application/x-rar-compressed': 'com.rarlab.rar-archive',\n 'application/x-redhat-package': 'com.redhat.redhat-package',\n 'application/x-rpm': 'com.redhat.redhat-package',\n 'application/x-rtf': 'public.rtf',\n 'application/x-sh': 'public.shell-script',\n 'application/x-shellscript': 'public.shell-script',\n 'application/x-shockwave-flash': 'com.macromedia.shockwave-flash',\n 'application/x-sit': 'com.allume.stuffit-archive',\n 'application/x-smil': 'com.real.smil',\n 'application/x-soundfont': 'com.soundblaster.soundfont',\n 'application/x-stuffit': 'com.allume.stuffit-archive',\n 'application/x-tar': 'public.tar-archive',\n 'application/x-tex': 'org.tug.tex',\n 'application/x-texinfo': 'org.tug.tex',\n 'application/x-troff-msvideo': 'public.avi',\n 'application/x-zip-compressed': 'com.pkware.zip-archive',\n 'application/xhtml+xml': 'public.html',\n 'application/xml': 'public.xml',\n 'application/zip': 'com.pkware.zip-archive',\n 'audio/3gpp': 'public.3gpp',\n 'audio/3gpp2': 'public.3gpp2',\n 'audio/aiff': 'public.aiff-audio',\n 'audio/au': 'public.ulaw-audio',\n 'audio/basic': 'public.ulaw-audio',\n 'audio/flac': 'org.xiph.flac',\n 'audio/mid': 'public.midi',\n 'audio/midi': 'public.midi',\n 'audio/mp3': 'public.mp3',\n 'audio/mp4': 'public.mpeg4-audio',\n 'audio/mp4a-latm': 'public.mpeg4-audio',\n 'audio/mpeg': 'public.mp3',\n 'audio/mpeg3': 'public.mp3',\n 'audio/mpegurl': 'unofficial.m3u-playlist',\n 'audio/mpg': 'public.mp3',\n 'audio/ogg': 'org.xiph.ogg-vorbis',\n 'audio/scpls': 'unofficial.pls-playlist',\n 'audio/snd': 'public.ulaw-audio',\n 'audio/vnd.rn-realaudio': 'com.real.realaudio',\n 'audio/wav': 'com.microsoft.waveform-audio',\n 'audio/wave': 'com.microsoft.waveform-audio',\n 'audio/webm': 'public.webm',\n 'audio/x-adpcm': 'public.ulaw-audio',\n 'audio/x-aiff': 'public.aiff-audio',\n 'audio/x-au': 'public.ulaw-audio',\n 'audio/x-flac': 'org.xiph.flac',\n 'audio/x-matroska': 'public.mka',\n 'audio/x-mid': 'public.midi',\n 'audio/x-midi': 'public.midi',\n 'audio/x-mp3': 'public.mp3',\n 'audio/x-mpeg-3': 'public.mp3',\n 'audio/x-mpeg': 'public.mp3',\n 'audio/x-mpeg3': 'public.mp3',\n 'audio/x-mpegurl': 'unofficial.m3u-playlist',\n 'audio/x-mpg': 'public.mp3',\n 'audio/x-ms-wax': 'com.microsoft.windows-media-wax',\n 'audio/x-ms-wma': 'com.microsoft.windows-media-wma',\n 'audio/x-ogg': 'org.xiph.ogg-vorbis',\n 'audio/x-pn-realaudio-plugin': 'com.real.realaudio',\n 'audio/x-pn-realaudio': 'com.real.realaudio',\n 'audio/x-pn-wav': 'com.microsoft.waveform-audio',\n 'audio/x-realaudio': 'com.real.realmedia',\n 'audio/x-scpls': 'unofficial.pls-playlist',\n 'audio/x-wav': 'com.microsoft.waveform-audio',\n 'font/opentype': 'public.opentype-font',\n 'image/bmp': 'com.microsoft.bmp',\n 'image/efax': 'com.js.efx-fax',\n 'image/eps': 'com.adobe.encapsulated-postscript',\n 'image/fpx': 'com.kodak.flashpix.image',\n 'image/gif': 'com.compuserve.gif',\n 'image/indd': 'com.adobe.indesign-image',\n 'image/indesign': 'com.adobe.indesign-image',\n 'image/jp2': 'public.jpeg2000',\n 'image/jpeg': 'public.jpeg',\n 'image/ms-bmp': 'com.microsoft.bmp',\n 'image/photoshop': 'com.adobe.photoshop-image',\n 'image/pict': 'com.apple.pict',\n 'image/pipeg': 'public.jpeg',\n 'image/pjpeg': 'public.jpeg',\n 'image/png': 'public.png',\n 'image/psd': 'com.adobe.photoshop-image',\n 'image/sgi': 'com.sgi.sgi-image',\n 'image/targa': 'com.truevision.tga-image',\n 'image/tga': 'com.truevision.tga-image',\n 'image/tiff': 'public.tiff',\n 'image/vnd.djvu': 'com.lizardtech.djvu',\n 'image/vndfpx': 'com.kodak.flashpix.image',\n 'image/vndnet-fpx': 'com.kodak.flashpix.image',\n 'image/webp': 'public.webp',\n 'image/x-bitmap': 'com.microsoft.bmp',\n 'image/x-bmp': 'com.microsoft.bmp',\n 'image/x-djvu': 'com.lizardtech.djvu',\n 'image/x-eps': 'com.adobe.encapsulated-postscript',\n 'image/x-icon': 'com.microsoft.ico',\n 'image/x-indesign': 'com.adobe.indesign-image',\n 'image/x-macpict': 'com.apple.pict',\n 'image/x-ms-bmp': 'com.microsoft.bmp',\n 'image/x-photoshop': 'com.adobe.photoshop-image',\n 'image/x-pict': 'com.apple.pict',\n 'image/x-quicktime': 'com.apple.quicktime-image',\n 'image/x-tiff': 'public.tiff',\n 'image/x-windows-bmp': 'com.microsoft.bmp',\n 'image/x-xbitmap': 'com.microsoft.bmp',\n 'image/x-xbm': 'public.xbitmap-image',\n 'image/xbm': 'public.xbitmap-image',\n 'multipart/x-gzip': 'org.gnu.gnu-zip-archive',\n 'multipart/x-zip': 'com.pkware.zip-archive',\n 'music/crescendo': 'public.midi',\n 'text/calendar': 'com.apple.ical.ics',\n 'text/css': 'public.css',\n 'text/directory': 'public.vcard',\n 'text/ecmascript': 'com.netscape.javascript-source',\n 'text/html': 'public.html',\n 'text/javascript': 'com.netscape.javascript-source',\n 'text/php': 'public.php-script',\n 'text/plain': 'public.plain-text',\n 'text/richtext': 'public.rtf',\n 'text/rtf': 'public.rtf',\n 'text/ruby-script': 'public.ruby-script',\n 'text/tex': 'org.tug.tex',\n 'text/vcard': 'public.vcard',\n 'text/vnd.sun.j2me.app-descriptor': 'com.sun.java-app-descriptor',\n 'text/x-asm': 'public.assembly-source',\n 'text/x-c-code': 'public.c-source',\n 'text/x-c-header': 'public.c-header',\n 'text/x-c': 'public.c-source',\n 'text/x-c++-code': 'public.c-plus-plus-source',\n 'text/x-c++-hdr': 'public.c-plus-plus-header',\n 'text/x-c++-src': 'public.c-plus-plus-source',\n 'text/x-c++src': 'public.c-plus-plus-source',\n 'text/x-h': 'public.c-header',\n 'text/x-java-source': 'com.sun.java-source',\n 'text/x-latex': 'org.tug.tex',\n 'text/x-objcppsrc': 'public.objective-c-plus-plus-source',\n 'text/x-objcsrc': 'public.objective-c-source',\n 'text/x-opml': 'unofficial.opml',\n 'text/x-perl-script': 'public.perl-script',\n 'text/x-perl': 'public.perl-script',\n 'text/x-php-script': 'public.php-script',\n 'text/x-python-script': 'public.python-script',\n 'text/x-python': 'public.python-script',\n 'text/x-scriptcsh': 'public.csh-script',\n 'text/x-scriptperl-module': 'public.perl-script',\n 'text/x-scriptperl': 'public.perl-script',\n 'text/x-scriptphyton': 'public.python-script',\n 'text/x-scriptsh': 'public.shell-script',\n 'text/x-server-parsed-html': 'public.html',\n 'text/x-tex': 'org.tug.tex',\n 'text/x-vcalendar': 'com.apple.ical.vcs',\n 'text/x-vcard': 'public.vcard',\n 'text/xhtml': 'public.html',\n 'text/xml': 'public.xml',\n 'video/3gpp': 'public.3gpp',\n 'video/3gpp2': 'public.3gpp2',\n 'video/avi': 'public.avi',\n 'video/MP2T': 'public.mpegts',\n 'video/mp4': 'public.mpeg4',\n 'video/mp4v': 'public.mpeg4',\n 'video/mpeg': 'public.mpeg',\n 'video/mpg': 'public.mpeg',\n 'video/msvideo': 'public.avi',\n 'video/ogg': 'org.xiph.ogg-theora',\n 'video/quicktime': 'com.apple.quicktime-movie',\n 'video/webm': 'public.webm',\n 'video/x-dv': 'public.dv',\n 'video/x-flv': 'public.flv',\n 'video/x-m4v': 'public.mpeg4',\n 'video/x-matroska': 'public.mkv',\n 'video/x-mpeg': 'public.mpeg',\n 'video/x-mpg': 'public.mpeg',\n 'video/x-ms-asf-plugin': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asf': 'com.microsoft.advanced-systems-format',\n 'video/x-ms-asx': 'com.microsoft.advanced-stream-redirector',\n 'video/x-ms-wm': 'com.microsoft.windows-media-wm',\n 'video/x-ms-wmd': 'com.microsoft.windows-media-wmd',\n 'video/x-ms-wmp': 'com.microsoft.windows-media-wmp',\n 'video/x-ms-wmv': 'com.microsoft.windows-media-wmv',\n 'video/x-ms-wmx': 'com.microsoft.windows-media-wmx',\n 'video/x-ms-wmz': 'com.microsoft.windows-media-wmz',\n 'video/x-ms-wvx': 'com.microsoft.windows-media-wvx',\n 'video/x-msvideo': 'public.avi',\n 'video/x-ogg': 'org.xiph.ogg-theora',\n 'x-msdos-program': 'com.microsoft.windows-executable',\n 'x-music/x-midi': 'public.midi',\n }\n dataOwnerApi: IccDataOwnerXApi\n authenticationProvider: AuthenticationProvider\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n private crypto: IccCryptoXApi,\n private authApi: IccAuthApi,\n dataOwnerApi: IccDataOwnerXApi,\n authenticationProvider: AuthenticationProvider,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.fetchImpl = fetchImpl\n this.authenticationProvider = authenticationProvider\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, message?: models.Message, c: any = {}) {\n const document = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Document',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c\n )\n\n return this.initDelegationsAndEncryptionKeys(user, message, document)\n }\n\n initEncryptionKeys(user: models.User, document: models.Document) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(document, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(document, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto.appendEncryptionKeys(document, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n message: models.Message | undefined = undefined,\n document: models.Document\n ): Promise<models.Document> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(message || null, dataOwnerId)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(document, message, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(document, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(document, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(document)\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((document) =>\n this.crypto\n .addDelegationsAndEncryptionKeys(message || null, document, dataOwnerId!, delegateId, dels.secretId, eks.secretId)\n .catch((e) => {\n console.log(e)\n return document\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n findByMessage(hcpartyId: string, message: models.Message) {\n return this.crypto\n .extractDelegationsSFKs(message, hcpartyId)\n .then((secretForeignKeys) =>\n this.findDocumentsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((documents) => this.decrypt(hcpartyId, documents))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, documents: Array<models.Document>): Promise<Array<models.Document>> {\n return Promise.all(\n documents.map((document) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(\n hcpartyId,\n document.id!,\n _.size(document.encryptionKeys) ? document.encryptionKeys! : document.delegations!\n )\n .then(({ extractedKeys: sfks }) => {\n if (!sfks || !sfks.length) {\n console.log('Cannot decrypt document', document.id)\n return Promise.resolve(document)\n }\n\n if (sfks.length && (document.encryptedSelf || document.encryptedAttachment)) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then((key: CryptoKey) =>\n Promise.all([\n document.encryptedSelf\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(document.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n document.encryptedAttachment\n ? new Promise((resolve: (value: ArrayBuffer | null) => any) => {\n this.crypto.AES.decrypt(key, document.encryptedAttachment!).then(resolve, () => {\n console.log('Cannot decrypt document', document.id)\n resolve(null)\n })\n })\n : Promise.resolve(null),\n ])\n )\n .then((decrypted: [ArrayBuffer | null, ArrayBuffer | null]) => {\n if (decrypted) {\n if (decrypted[0]) {\n document = _.extend(document, JSON.parse(ua2string(decrypted[0])))\n }\n if (decrypted[1]) {\n document.decryptedAttachment = decrypted[1]\n }\n }\n return document\n })\n } else {\n return Promise.resolve(document)\n }\n })\n )\n ).catch(function (e: Error) {\n console.log(e)\n return Promise.resolve(documents)\n })\n }\n\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/octet-stream\", enckeys?: string, fileName?: string): Promise<ArrayBuffer>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"text/plain\", enckeys?: string, fileName?: string): Promise<string>\n //prettier-ignore\n getAttachmentAs(documentId: string, attachmentId: string, returnType: \"application/json\", enckeys?: string, fileName?: string): Promise<any>\n getAttachmentAs(\n documentId: string,\n attachmentId: string,\n returnType: 'application/octet-stream' | 'text/plain' | 'application/json',\n enckeys?: string,\n fileName?: string\n ): Promise<any> {\n const url =\n this.host +\n `/document/${documentId}/attachment/${attachmentId}` +\n '?ts=' +\n new Date().getTime() +\n (enckeys ? `&enckeys=${enckeys}` : '') +\n (fileName ? `&fileName=${fileName}` : '')\n return XHR.sendCommand('GET', url, this.headers, null, this.fetchImpl, returnType, this.authenticationProvider.getAuthService())\n .then((doc) => doc.body)\n .catch((err) => this.handleError(err))\n }\n\n // noinspection JSUnusedGlobalSymbols\n getAttachmentUrl(documentId: string, attachmentId: string, sfks: Array<{ delegatorId: string; key: CryptoKey }>, fileName?: string) {\n return this.authApi\n .token('GET', `/rest/v1/document/${documentId}/attachment/${attachmentId}`)\n .then(\n (token) =>\n this.host +\n `/document/${documentId}/attachment/${attachmentId}${token ? `;tokenid=${token}` : ''}` +\n (sfks && sfks.length ? '?enckeys=' + sfks.join(',') : '') +\n (fileName && fileName.length ? `${sfks && sfks.length ? '&' : '?'}fileName=${encodeURIComponent(fileName)}` : '')\n )\n }\n\n // noinspection JSUnusedGlobalSymbols\n uti(mimeType: string, extension: string) {\n return (mimeType && mimeType !== 'application/octet-stream' ? this.utiDefs[mimeType] : this.utiExts[extension]) || this.utiDefs[mimeType]\n }\n\n // noinspection JSUnusedGlobalSymbols\n mimeType(uti: string) {\n return this.utiRevDefs[uti]\n }\n}\n"]}
@@ -2,12 +2,13 @@ import { IccFormApi } from '../icc-api';
2
2
  import { IccCryptoXApi } from './icc-crypto-x-api';
3
3
  import * as models from '../icc-api/model/models';
4
4
  import { IccDataOwnerXApi } from './icc-data-owner-x-api';
5
+ import { AuthenticationProvider } from './auth/AuthenticationProvider';
5
6
  export declare class IccFormXApi extends IccFormApi {
6
7
  crypto: IccCryptoXApi;
7
8
  dataOwnerApi: IccDataOwnerXApi;
8
9
  constructor(host: string, headers: {
9
10
  [key: string]: string;
10
- }, crypto: IccCryptoXApi, dataOwnerApi: IccDataOwnerXApi, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
11
+ }, crypto: IccCryptoXApi, dataOwnerApi: IccDataOwnerXApi, authenticationProvider: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
11
12
  newInstance(user: models.User, patient: models.Patient, c?: any, delegates?: string[]): Promise<models.Form>;
12
13
  initEncryptionKeys(user: models.User, form: models.Form): Promise<models.Form & {
13
14
  encryptionKeys: any;
@@ -6,12 +6,12 @@ const _ = require("lodash");
6
6
  const binary_utils_1 = require("./utils/binary-utils");
7
7
  // noinspection JSUnusedGlobalSymbols
8
8
  class IccFormXApi extends icc_api_1.IccFormApi {
9
- constructor(host, headers, crypto, dataOwnerApi, fetchImpl = typeof window !== 'undefined'
9
+ constructor(host, headers, crypto, dataOwnerApi, authenticationProvider, fetchImpl = typeof window !== 'undefined'
10
10
  ? window.fetch
11
11
  : typeof self !== 'undefined'
12
12
  ? self.fetch
13
13
  : fetch) {
14
- super(host, headers, fetchImpl);
14
+ super(host, headers, authenticationProvider, fetchImpl);
15
15
  this.crypto = crypto;
16
16
  this.dataOwnerApi = dataOwnerApi;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"icc-form-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-form-x-api.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AAGvC,4BAA2B;AAG3B,uDAAwE;AAGxE,qCAAqC;AACrC,MAAa,WAAY,SAAQ,oBAAU;IAIzC,YACE,IAAY,EACZ,OAAkC,EAClC,MAAqB,EACrB,YAA8B,EAC9B,YAA2E,OAAO,MAAM,KAAK,WAAW;QACtG,CAAC,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,OAAO,IAAI,KAAK,WAAW;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,KAAK;QAET,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,qCAAqC;IACrC,WAAW,CAAC,IAAiB,EAAE,OAAuB,EAAE,IAAS,EAAE,EAAE,YAAsB,EAAE;QAC3F,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CACnB;YACE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC5B,KAAK,EAAE,gCAAgC;YACvC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC7B,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;YAC9B,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC;YACnD,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;SACT,EACD,CAAC,IAAI,EAAE,CACR,CAAA;QAED,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IAC9E,CAAC;IAED,kBAAkB,CAAC,IAAiB,EAAE,IAAiB;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACrE,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACb,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CACH,CACA;YAAA,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAC3H,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAY,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClG,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE;oBACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;iBACxC,CAAC,CAAA;YACJ,CAAC,CAAC,CACH,CAAC,CACL,CAAA;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,gCAAgC,CACtC,IAAiB,EACjB,OAAuB,EACvB,IAAiB,EACjB,YAAsB,EAAE;QAExB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,MAAM;aACf,sBAAsB,CAAC,OAAO,EAAE,WAAY,CAAC;aAC7C,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC1B,OAAO,CAAC,GAAG,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAY,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAY,CAAC;SACnD,CAAC,CACH;aACA,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,cAAc,EAAE,GAAG,CAAC,cAAc;aACnC,CAAC,CAAA;YAEF,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC,CAAC,IAAI,CACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACrI,CAAC,OAAO,CACP,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,OAAO,EAAE,IAAI,EAAE,WAAY,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5H,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACd,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAC,CACL,CAAA;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,qCAAqC;IACrC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,SAAiB,EAAE,OAAuB;QAC/C,OAAO,IAAI,CAAC,MAAM;aACf,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC;aAC1C,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAC1B,IAAI,CAAC,oCAAoC,CAAC,iBAAiB,CAAC,SAAU,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC3H;aACA,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aAC/C,IAAI,CAAC,UAAU,cAAc;YAC5B,OAAO,cAAc,CAAA;QACvB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,KAAyB;QAClD,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,IAAI,CAAC,MAAM;aACR,yCAAyC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAe,CAAC,CAAC,CAAC,IAAI,CAAC,WAAY,CAAC;aACtI,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAA,qBAAM,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;qBACvE,IAAI,CACH,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,OAAO,CAAC,CAAC,OAA4B,EAAE,EAAE;oBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAA,wBAAS,EAAC,IAAA,kBAAG,EAAC,IAAI,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBACnF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;wBAC3C,OAAO,CAAC,IAAI,CAAC,CAAA;oBACf,CAAC,CAAC,CAAA;gBACJ,CAAC,CAAC,CACL;qBACA,IAAI,CAAC,CAAC,SAAsB,EAAE,EAAE;oBAC/B,IAAI,SAAS,EAAE;wBACb,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAA,wBAAS,EAAC,SAAS,CAAC,CAAC,CAAC,CAAA;qBACxD;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC,CAAA;aACL;iBAAM;gBACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAC;aACD,KAAK,CAAC,UAAU,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC,CAAC,CACL,CACF,CAAC,KAAK,CAAC,UAAU,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AArKD,kCAqKC","sourcesContent":["import { IccFormApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccFormXApi extends IccFormApi {\n crypto: IccCryptoXApi\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, patient: models.Patient, c: any = {}, delegates: string[] = []) {\n const form = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Form',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c || {}\n )\n\n return this.initDelegationsAndEncryptionKeys(user, patient, form, delegates)\n }\n\n initEncryptionKeys(user: models.User, form: models.Form) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(form, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(form, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.appendEncryptionKeys(contact, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n patient: models.Patient,\n form: models.Form,\n delegates: string[] = []\n ): Promise<models.Form> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(patient, dataOwnerId!)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(form, patient, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(form, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(form, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(form)\n _.uniq(\n delegates.concat(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : [])\n ).forEach(\n (delegateId) =>\n (promise = promise.then((form) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, form, dataOwnerId!, delegateId, dels.secretId, eks.secretId).catch((e) => {\n console.log(e)\n return form\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n /**\n * 1. Check whether there is a delegation with 'hcpartyId' or not.\n * 2. 'fetchHcParty[hcpartyId][1]': is encrypted AES exchange key by RSA public key of him.\n * 3. Obtain the AES exchange key, by decrypting the previous step value with hcparty private key\n * 3.1. KeyPair should be fetch from cache (in jwk)\n * 3.2. if it doesn't exist in the cache, it has to be loaded from Browser Local store, and then import it to WebCrypto\n * 4. Obtain the array of delegations which are delegated to his ID (hcpartyId) in this patient\n * 5. Decrypt and collect all keys (secretForeignKeys) within delegations of previous step (with obtained AES key of step 4)\n * 6. Do the REST call to get all contacts with (allSecretForeignKeysDelimitedByComa, hcpartyId)\n *\n * After these painful steps, you have the contacts of the patient.\n *\n * @param hcpartyId\n * @param patient (Promise)\n */\n findBy(hcpartyId: string, patient: models.Patient) {\n return this.crypto\n .extractDelegationsSFKs(patient, hcpartyId)\n .then((secretForeignKeys) =>\n this.findFormsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((forms) => this.decrypt(hcpartyId, forms))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, forms: Array<models.Form>) {\n return Promise.all(\n forms.map((form) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(hcpartyId, form.id!, _.size(form.encryptionKeys) ? form.encryptionKeys! : form.delegations!)\n .then(({ extractedKeys: sfks }) => {\n if (form.encryptedSelf) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then(\n (key) =>\n new Promise((resolve: (value: any) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(form.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt form', form.id)\n resolve(null)\n })\n })\n )\n .then((decrypted: ArrayBuffer) => {\n if (decrypted) {\n form = _.extend(form, JSON.parse(ua2string(decrypted)))\n }\n return form\n })\n } else {\n return Promise.resolve(form)\n }\n })\n .catch(function (e) {\n console.log(e)\n })\n )\n ).catch(function (e) {\n console.log(e)\n })\n }\n}\n"]}
1
+ {"version":3,"file":"icc-form-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-form-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccFormApi } from '../icc-api'\nimport { IccCryptoXApi } from './icc-crypto-x-api'\n\nimport * as _ from 'lodash'\nimport * as models from '../icc-api/model/models'\n\nimport { a2b, hex2ua, string2ua, ua2string } from './utils/binary-utils'\nimport { IccDataOwnerXApi } from './icc-data-owner-x-api'\nimport { AuthenticationProvider } from './auth/AuthenticationProvider'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccFormXApi extends IccFormApi {\n crypto: IccCryptoXApi\n dataOwnerApi: IccDataOwnerXApi\n\n constructor(\n host: string,\n headers: { [key: string]: string },\n crypto: IccCryptoXApi,\n dataOwnerApi: IccDataOwnerXApi,\n authenticationProvider: AuthenticationProvider,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n this.crypto = crypto\n this.dataOwnerApi = dataOwnerApi\n }\n\n // noinspection JSUnusedGlobalSymbols\n newInstance(user: models.User, patient: models.Patient, c: any = {}, delegates: string[] = []) {\n const form = _.extend(\n {\n id: this.crypto.randomUuid(),\n _type: 'org.taktik.icure.entities.Form',\n created: new Date().getTime(),\n modified: new Date().getTime(),\n responsible: this.dataOwnerApi.getDataOwnerOf(user),\n author: user.id,\n codes: [],\n tags: [],\n },\n c || {}\n )\n\n return this.initDelegationsAndEncryptionKeys(user, patient, form, delegates)\n }\n\n initEncryptionKeys(user: models.User, form: models.Form) {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto.initEncryptionKeys(form, dataOwnerId!).then((eks) => {\n let promise = Promise.resolve(\n _.extend(form, {\n encryptionKeys: eks.encryptionKeys,\n })\n )\n ;(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : []).forEach(\n (delegateId) =>\n (promise = promise.then((contact) =>\n this.crypto.appendEncryptionKeys(contact, dataOwnerId!, delegateId, eks.secretId).then((extraEks) => {\n return _.extend(extraEks.modifiedObject, {\n encryptionKeys: extraEks.encryptionKeys,\n })\n })\n ))\n )\n return promise\n })\n }\n\n private initDelegationsAndEncryptionKeys(\n user: models.User,\n patient: models.Patient,\n form: models.Form,\n delegates: string[] = []\n ): Promise<models.Form> {\n const dataOwnerId = this.dataOwnerApi.getDataOwnerOf(user)\n return this.crypto\n .extractDelegationsSFKs(patient, dataOwnerId!)\n .then((secretForeignKeys) =>\n Promise.all([\n this.crypto.initObjectDelegations(form, patient, dataOwnerId!, secretForeignKeys.extractedKeys[0]),\n this.crypto.initEncryptionKeys(form, dataOwnerId!),\n ])\n )\n .then((initData) => {\n const dels = initData[0]\n const eks = initData[1]\n _.extend(form, {\n delegations: dels.delegations,\n cryptedForeignKeys: dels.cryptedForeignKeys,\n secretForeignKeys: dels.secretForeignKeys,\n encryptionKeys: eks.encryptionKeys,\n })\n\n let promise = Promise.resolve(form)\n _.uniq(\n delegates.concat(user.autoDelegations ? (user.autoDelegations.all || []).concat(user.autoDelegations.medicalInformation || []) : [])\n ).forEach(\n (delegateId) =>\n (promise = promise.then((form) =>\n this.crypto.addDelegationsAndEncryptionKeys(patient, form, dataOwnerId!, delegateId, dels.secretId, eks.secretId).catch((e) => {\n console.log(e)\n return form\n })\n ))\n )\n return promise\n })\n }\n\n // noinspection JSUnusedGlobalSymbols\n /**\n * 1. Check whether there is a delegation with 'hcpartyId' or not.\n * 2. 'fetchHcParty[hcpartyId][1]': is encrypted AES exchange key by RSA public key of him.\n * 3. Obtain the AES exchange key, by decrypting the previous step value with hcparty private key\n * 3.1. KeyPair should be fetch from cache (in jwk)\n * 3.2. if it doesn't exist in the cache, it has to be loaded from Browser Local store, and then import it to WebCrypto\n * 4. Obtain the array of delegations which are delegated to his ID (hcpartyId) in this patient\n * 5. Decrypt and collect all keys (secretForeignKeys) within delegations of previous step (with obtained AES key of step 4)\n * 6. Do the REST call to get all contacts with (allSecretForeignKeysDelimitedByComa, hcpartyId)\n *\n * After these painful steps, you have the contacts of the patient.\n *\n * @param hcpartyId\n * @param patient (Promise)\n */\n findBy(hcpartyId: string, patient: models.Patient) {\n return this.crypto\n .extractDelegationsSFKs(patient, hcpartyId)\n .then((secretForeignKeys) =>\n this.findFormsByHCPartyPatientForeignKeys(secretForeignKeys.hcpartyId!, _.uniq(secretForeignKeys.extractedKeys).join(','))\n )\n .then((forms) => this.decrypt(hcpartyId, forms))\n .then(function (decryptedForms) {\n return decryptedForms\n })\n }\n\n decrypt(hcpartyId: string, forms: Array<models.Form>) {\n return Promise.all(\n forms.map((form) =>\n this.crypto\n .extractKeysFromDelegationsForHcpHierarchy(hcpartyId, form.id!, _.size(form.encryptionKeys) ? form.encryptionKeys! : form.delegations!)\n .then(({ extractedKeys: sfks }) => {\n if (form.encryptedSelf) {\n return this.crypto.AES.importKey('raw', hex2ua(sfks[0].replace(/-/g, '')))\n .then(\n (key) =>\n new Promise((resolve: (value: any) => any) => {\n this.crypto.AES.decrypt(key, string2ua(a2b(form.encryptedSelf!))).then(resolve, () => {\n console.log('Cannot decrypt form', form.id)\n resolve(null)\n })\n })\n )\n .then((decrypted: ArrayBuffer) => {\n if (decrypted) {\n form = _.extend(form, JSON.parse(ua2string(decrypted)))\n }\n return form\n })\n } else {\n return Promise.resolve(form)\n }\n })\n .catch(function (e) {\n console.log(e)\n })\n )\n ).catch(function (e) {\n console.log(e)\n })\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { IccHcpartyApi } from '../icc-api';
2
2
  import { HealthcareParty } from '../icc-api/model/HealthcareParty';
3
3
  import * as models from '../icc-api/model/models';
4
+ import { AuthenticationProvider } from './auth/AuthenticationProvider';
4
5
  export declare class IccHcpartyXApi extends IccHcpartyApi {
5
6
  hcPartyKeysCache: {
6
7
  [key: string]: {
@@ -13,7 +14,7 @@ export declare class IccHcpartyXApi extends IccHcpartyApi {
13
14
  private CACHE_RETENTION_IN_MS;
14
15
  constructor(host: string, headers: {
15
16
  [key: string]: string;
16
- }, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
17
+ }, authenticationProvider: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
17
18
  private getHcPartyFromCache;
18
19
  completeNames(hcParty?: models.HealthcareParty): models.HealthcareParty | undefined;
19
20
  putHcPartyInCache(key: string, value?: Promise<HealthcareParty> | null): Promise<HealthcareParty>;
@@ -15,12 +15,12 @@ const models = require("../icc-api/model/models");
15
15
  const person_util_1 = require("./utils/person-util");
16
16
  // noinspection JSUnusedGlobalSymbols
17
17
  class IccHcpartyXApi extends icc_api_1.IccHcpartyApi {
18
- constructor(host, headers, fetchImpl = typeof window !== 'undefined'
18
+ constructor(host, headers, authenticationProvider, fetchImpl = typeof window !== 'undefined'
19
19
  ? window.fetch
20
20
  : typeof self !== 'undefined'
21
21
  ? self.fetch
22
22
  : fetch) {
23
- super(host, headers, fetchImpl);
23
+ super(host, headers, authenticationProvider, fetchImpl);
24
24
  this.hcPartyKeysCache = {};
25
25
  this.hcPartyCache = {};
26
26
  this.CACHE_RETENTION_IN_MS = 300000;
@@ -1 +1 @@
1
- {"version":3,"file":"icc-hcparty-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-hcparty-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccHcpartyApi } from '../icc-api'\nimport { HealthcareParty } from '../icc-api/model/HealthcareParty'\nimport * as models from '../icc-api/model/models'\nimport { findName, garnishPersonWithName, hasName } from './utils/person-util'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccHcpartyXApi extends IccHcpartyApi {\n hcPartyKeysCache: { [key: string]: { [key: string]: string } } = {}\n hcPartyCache: { [key: string]: [number, Promise<HealthcareParty>] } = {}\n\n private CACHE_RETENTION_IN_MS = 300_000\n constructor(\n host: string,\n headers: { [key: string]: string },\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, fetchImpl)\n }\n\n private getHcPartyFromCache(key: string) {\n const hcpInCache = this.hcPartyCache[key]\n const now = Date.now()\n if (hcpInCache && hcpInCache[0] > now) {\n return hcpInCache[1]\n }\n if (!hcpInCache) {\n console.log(`Cache miss for key ${key} because not in cache`)\n } else {\n console.log(`Cache miss for key ${key} because ${hcpInCache[0]} > ${now}`)\n }\n return null\n }\n\n completeNames(hcParty?: models.HealthcareParty): models.HealthcareParty | undefined {\n if (!hcParty) {\n return hcParty\n }\n\n let finalHcParty = hcParty\n\n if ((!!finalHcParty.lastName || !!finalHcParty.name) && !hasName(finalHcParty, models.PersonName.UseEnum.Official)) {\n finalHcParty = garnishPersonWithName(\n finalHcParty,\n models.PersonName.UseEnum.Official,\n finalHcParty.lastName,\n finalHcParty.firstName,\n finalHcParty.name\n )\n }\n\n if ((!finalHcParty.lastName || !finalHcParty.name) && !!hasName(finalHcParty, models.PersonName.UseEnum.Official)) {\n let officialName = findName(finalHcParty, models.PersonName.UseEnum.Official)\n finalHcParty = {\n ...finalHcParty,\n lastName: officialName!.lastName,\n firstName: officialName!.firstNames ? officialName!.firstNames[0] : undefined,\n name: officialName!.text,\n }\n }\n\n return finalHcParty\n }\n\n putHcPartyInCache(key: string, value: Promise<HealthcareParty> | null = null): Promise<HealthcareParty> {\n const hcp =\n value ||\n super.getHealthcareParty(key).catch((e) => {\n console.log(`Evict key ${key} because of error`)\n delete this.hcPartyCache[key]\n throw e\n })\n this.hcPartyCache[key] = [Date.now() + this.CACHE_RETENTION_IN_MS, hcp]\n return hcp\n }\n\n createHealthcareParty(body?: HealthcareParty): Promise<HealthcareParty> {\n return super.createHealthcareParty(this.completeNames(body))\n }\n\n createHealthcarePartyInGroup(groupId: string, body?: HealthcareParty): Promise<HealthcareParty> {\n return super.createHealthcarePartyInGroup(groupId, this.completeNames(body))\n }\n\n modifyHealthcareParty(body?: HealthcareParty): Promise<HealthcareParty | any> {\n if (body && body.id) {\n console.log(`Evict key ${body.id} because of modification`)\n delete this.hcPartyCache[body.id]\n }\n\n return super.modifyHealthcareParty(this.completeNames(body)).then((hcp) => this.putHcPartyInCache(hcp.id!, Promise.resolve(hcp)))\n }\n\n getHealthcareParty(healthcarePartyId: string, bypassCache = false): Promise<HealthcareParty | any> {\n const fromCache = bypassCache ? undefined : this.getHcPartyFromCache(healthcarePartyId)\n return fromCache || this.putHcPartyInCache(healthcarePartyId)\n }\n\n getHealthcarePartyHierarchyIds(healthcarePartyId: string, bypassCache = false): Promise<string[]> {\n const fromCache = bypassCache ? undefined : this.getHcPartyFromCache(healthcarePartyId)\n return (fromCache || this.putHcPartyInCache(healthcarePartyId)).then(async (hcp: HealthcareParty) => {\n return hcp ? (hcp.parentId ? (await this.getHealthcarePartyHierarchyIds(hcp.parentId!, bypassCache)).concat([hcp.id!]) : [hcp.id!]) : []\n })\n }\n\n getHealthcareParties(healthcarePartyIds: string): Promise<Array<HealthcareParty> | any> {\n const ids = healthcarePartyIds.split(',').filter((x) => !!x)\n const cached: Array<[string, Promise<HealthcareParty> | null]> = ids.map((id) => [id, this.getHcPartyFromCache(id)])\n const toFetch = cached.filter((x) => !x[1]).map((x) => x[0])\n\n if (!toFetch.length) {\n return Promise.all(cached.map((x) => x[1]!))\n }\n\n const prom: Promise<HealthcareParty[]> = super.getHealthcareParties(toFetch.join(','))\n return Promise.all(\n cached.map(\n (x) =>\n x[1] ||\n this.putHcPartyInCache(\n x[0],\n prom.then((hcps) => hcps.find((h) => h.id === x[0])!)\n )\n )\n )\n }\n\n getCurrentHealthcareParty(): Promise<HealthcareParty | any> {\n return super.getCurrentHealthcareParty().then((hcp) => this.putHcPartyInCache(hcp.id!, Promise.resolve(hcp)))\n }\n\n getHcPartyKeysForDelegate(healthcarePartyId: string, bypassCache = false): Promise<{ [key: string]: string }> {\n const cached = bypassCache ? null : this.hcPartyKeysCache[healthcarePartyId]\n return cached\n ? Promise.resolve(cached)\n : super.getHcPartyKeysForDelegate(healthcarePartyId).then((r) => (this.hcPartyKeysCache[healthcarePartyId] = r))\n }\n\n isValidCbe(cbe: string) {\n cbe = cbe.replace(new RegExp('[^(0-9)]', 'g'), '')\n cbe = cbe.length == 9 ? '0' + cbe : cbe\n\n return 97 - (Number(cbe.substr(0, 8)) % 97) === Number(cbe.substr(8, 2))\n }\n}\n"]}
1
+ {"version":3,"file":"icc-hcparty-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-hcparty-x-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { IccHcpartyApi } from '../icc-api'\nimport { HealthcareParty } from '../icc-api/model/HealthcareParty'\nimport * as models from '../icc-api/model/models'\nimport { findName, garnishPersonWithName, hasName } from './utils/person-util'\nimport { AuthenticationProvider } from './auth/AuthenticationProvider'\n\n// noinspection JSUnusedGlobalSymbols\nexport class IccHcpartyXApi extends IccHcpartyApi {\n hcPartyKeysCache: { [key: string]: { [key: string]: string } } = {}\n hcPartyCache: { [key: string]: [number, Promise<HealthcareParty>] } = {}\n\n private CACHE_RETENTION_IN_MS = 300_000\n constructor(\n host: string,\n headers: { [key: string]: string },\n authenticationProvider: AuthenticationProvider,\n fetchImpl: (input: RequestInfo, init?: RequestInit) => Promise<Response> = typeof window !== 'undefined'\n ? window.fetch\n : typeof self !== 'undefined'\n ? self.fetch\n : fetch\n ) {\n super(host, headers, authenticationProvider, fetchImpl)\n }\n\n private getHcPartyFromCache(key: string) {\n const hcpInCache = this.hcPartyCache[key]\n const now = Date.now()\n if (hcpInCache && hcpInCache[0] > now) {\n return hcpInCache[1]\n }\n if (!hcpInCache) {\n console.log(`Cache miss for key ${key} because not in cache`)\n } else {\n console.log(`Cache miss for key ${key} because ${hcpInCache[0]} > ${now}`)\n }\n return null\n }\n\n completeNames(hcParty?: models.HealthcareParty): models.HealthcareParty | undefined {\n if (!hcParty) {\n return hcParty\n }\n\n let finalHcParty = hcParty\n\n if ((!!finalHcParty.lastName || !!finalHcParty.name) && !hasName(finalHcParty, models.PersonName.UseEnum.Official)) {\n finalHcParty = garnishPersonWithName(\n finalHcParty,\n models.PersonName.UseEnum.Official,\n finalHcParty.lastName,\n finalHcParty.firstName,\n finalHcParty.name\n )\n }\n\n if ((!finalHcParty.lastName || !finalHcParty.name) && !!hasName(finalHcParty, models.PersonName.UseEnum.Official)) {\n let officialName = findName(finalHcParty, models.PersonName.UseEnum.Official)\n finalHcParty = {\n ...finalHcParty,\n lastName: officialName!.lastName,\n firstName: officialName!.firstNames ? officialName!.firstNames[0] : undefined,\n name: officialName!.text,\n }\n }\n\n return finalHcParty\n }\n\n putHcPartyInCache(key: string, value: Promise<HealthcareParty> | null = null): Promise<HealthcareParty> {\n const hcp =\n value ||\n super.getHealthcareParty(key).catch((e) => {\n console.log(`Evict key ${key} because of error`)\n delete this.hcPartyCache[key]\n throw e\n })\n this.hcPartyCache[key] = [Date.now() + this.CACHE_RETENTION_IN_MS, hcp]\n return hcp\n }\n\n createHealthcareParty(body?: HealthcareParty): Promise<HealthcareParty> {\n return super.createHealthcareParty(this.completeNames(body))\n }\n\n createHealthcarePartyInGroup(groupId: string, body?: HealthcareParty): Promise<HealthcareParty> {\n return super.createHealthcarePartyInGroup(groupId, this.completeNames(body))\n }\n\n modifyHealthcareParty(body?: HealthcareParty): Promise<HealthcareParty | any> {\n if (body && body.id) {\n console.log(`Evict key ${body.id} because of modification`)\n delete this.hcPartyCache[body.id]\n }\n\n return super.modifyHealthcareParty(this.completeNames(body)).then((hcp) => this.putHcPartyInCache(hcp.id!, Promise.resolve(hcp)))\n }\n\n getHealthcareParty(healthcarePartyId: string, bypassCache = false): Promise<HealthcareParty | any> {\n const fromCache = bypassCache ? undefined : this.getHcPartyFromCache(healthcarePartyId)\n return fromCache || this.putHcPartyInCache(healthcarePartyId)\n }\n\n getHealthcarePartyHierarchyIds(healthcarePartyId: string, bypassCache = false): Promise<string[]> {\n const fromCache = bypassCache ? undefined : this.getHcPartyFromCache(healthcarePartyId)\n return (fromCache || this.putHcPartyInCache(healthcarePartyId)).then(async (hcp: HealthcareParty) => {\n return hcp ? (hcp.parentId ? (await this.getHealthcarePartyHierarchyIds(hcp.parentId!, bypassCache)).concat([hcp.id!]) : [hcp.id!]) : []\n })\n }\n\n getHealthcareParties(healthcarePartyIds: string): Promise<Array<HealthcareParty> | any> {\n const ids = healthcarePartyIds.split(',').filter((x) => !!x)\n const cached: Array<[string, Promise<HealthcareParty> | null]> = ids.map((id) => [id, this.getHcPartyFromCache(id)])\n const toFetch = cached.filter((x) => !x[1]).map((x) => x[0])\n\n if (!toFetch.length) {\n return Promise.all(cached.map((x) => x[1]!))\n }\n\n const prom: Promise<HealthcareParty[]> = super.getHealthcareParties(toFetch.join(','))\n return Promise.all(\n cached.map(\n (x) =>\n x[1] ||\n this.putHcPartyInCache(\n x[0],\n prom.then((hcps) => hcps.find((h) => h.id === x[0])!)\n )\n )\n )\n }\n\n getCurrentHealthcareParty(): Promise<HealthcareParty | any> {\n return super.getCurrentHealthcareParty().then((hcp) => this.putHcPartyInCache(hcp.id!, Promise.resolve(hcp)))\n }\n\n getHcPartyKeysForDelegate(healthcarePartyId: string, bypassCache = false): Promise<{ [key: string]: string }> {\n const cached = bypassCache ? null : this.hcPartyKeysCache[healthcarePartyId]\n return cached\n ? Promise.resolve(cached)\n : super.getHcPartyKeysForDelegate(healthcarePartyId).then((r) => (this.hcPartyKeysCache[healthcarePartyId] = r))\n }\n\n isValidCbe(cbe: string) {\n cbe = cbe.replace(new RegExp('[^(0-9)]', 'g'), '')\n cbe = cbe.length == 9 ? '0' + cbe : cbe\n\n return 97 - (Number(cbe.substr(0, 8)) % 97) === Number(cbe.substr(8, 2))\n }\n}\n"]}
@@ -3,13 +3,14 @@ import { IccCryptoXApi } from './icc-crypto-x-api';
3
3
  import * as models from '../icc-api/model/models';
4
4
  import { HealthElement } from '../icc-api/model/models';
5
5
  import { IccDataOwnerXApi } from './icc-data-owner-x-api';
6
+ import { AuthenticationProvider } from './auth/AuthenticationProvider';
6
7
  export declare class IccHelementXApi extends IccHelementApi {
7
8
  crypto: IccCryptoXApi;
8
9
  dataOwnerApi: IccDataOwnerXApi;
9
10
  private readonly encryptedKeys;
10
11
  constructor(host: string, headers: {
11
12
  [key: string]: string;
12
- }, crypto: IccCryptoXApi, dataOwnerApi: IccDataOwnerXApi, encryptedKeys?: Array<string>, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
13
+ }, crypto: IccCryptoXApi, dataOwnerApi: IccDataOwnerXApi, encryptedKeys: string[] | undefined, authenticationProvider: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
13
14
  newInstance(user: models.User, patient: models.Patient, h: any, confidential?: boolean, delegates?: string[]): Promise<models.HealthElement>;
14
15
  initDelegationsAndEncryptionKeys(healthElement: models.HealthElement, patient: models.Patient, user: models.User, confidential: boolean, delegates?: string[]): Promise<models.HealthElement>;
15
16
  createHealthElement(body?: models.HealthElement): never;
@@ -17,12 +17,12 @@ const moment = require("moment");
17
17
  const binary_utils_1 = require("./utils/binary-utils");
18
18
  const utils_1 = require("./utils");
19
19
  class IccHelementXApi extends icc_api_1.IccHelementApi {
20
- constructor(host, headers, crypto, dataOwnerApi, encryptedKeys = ['descr', 'note'], fetchImpl = typeof window !== 'undefined'
20
+ constructor(host, headers, crypto, dataOwnerApi, encryptedKeys = ['descr', 'note'], authenticationProvider, fetchImpl = typeof window !== 'undefined'
21
21
  ? window.fetch
22
22
  : typeof self !== 'undefined'
23
23
  ? self.fetch
24
24
  : fetch) {
25
- super(host, headers, fetchImpl);
25
+ super(host, headers, authenticationProvider, fetchImpl);
26
26
  this.crypto = crypto;
27
27
  this.dataOwnerApi = dataOwnerApi;
28
28
  this.encryptedKeys = encryptedKeys;