@icure/api 8.6.18 → 8.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/icc-api/api/IccDocumentApi.d.ts +10 -2
  2. package/icc-api/api/IccDocumentApi.js +22 -4
  3. package/icc-api/api/IccDocumentApi.js.map +1 -1
  4. package/icc-api/api/IccReceiptApi.d.ts +17 -0
  5. package/icc-api/api/IccReceiptApi.js +52 -0
  6. package/icc-api/api/IccReceiptApi.js.map +1 -1
  7. package/icc-api/model/DataAttachment.d.ts +22 -0
  8. package/icc-api/model/DataAttachment.js.map +1 -1
  9. package/icc-api/model/Document.d.ts +6 -0
  10. package/icc-api/model/Document.js.map +1 -1
  11. package/icc-api/model/Receipt.d.ts +6 -0
  12. package/icc-api/model/Receipt.js.map +1 -1
  13. package/icc-x-api/crypto/BaseExchangeDataManager.js +2 -2
  14. package/icc-x-api/crypto/BaseExchangeDataManager.js.map +1 -1
  15. package/icc-x-api/crypto/ExchangeDataManager.js +3 -3
  16. package/icc-x-api/crypto/ExchangeDataManager.js.map +1 -1
  17. package/icc-x-api/crypto/ExtendedApisUtils.d.ts +1 -1
  18. package/icc-x-api/crypto/ExtendedApisUtils.js.map +1 -1
  19. package/icc-x-api/crypto/ExtendedApisUtilsImpl.d.ts +1 -1
  20. package/icc-x-api/crypto/ExtendedApisUtilsImpl.js +8 -2
  21. package/icc-x-api/crypto/ExtendedApisUtilsImpl.js.map +1 -1
  22. package/icc-x-api/crypto/RecoveryDataEncryption.js.map +1 -1
  23. package/icc-x-api/icc-accesslog-x-api.js +7 -7
  24. package/icc-x-api/icc-accesslog-x-api.js.map +1 -1
  25. package/icc-x-api/icc-calendar-item-x-api.js +7 -7
  26. package/icc-x-api/icc-calendar-item-x-api.js.map +1 -1
  27. package/icc-x-api/icc-classification-x-api.js +4 -5
  28. package/icc-x-api/icc-classification-x-api.js.map +1 -1
  29. package/icc-x-api/icc-code-x-api.d.ts +2 -2
  30. package/icc-x-api/icc-code-x-api.js +3 -33
  31. package/icc-x-api/icc-code-x-api.js.map +1 -1
  32. package/icc-x-api/icc-contact-x-api.js +20 -33
  33. package/icc-x-api/icc-contact-x-api.js.map +1 -1
  34. package/icc-x-api/icc-doctemplate-x-api.js.map +1 -1
  35. package/icc-x-api/icc-document-x-api.d.ts +8 -7
  36. package/icc-x-api/icc-document-x-api.js +64 -22
  37. package/icc-x-api/icc-document-x-api.js.map +1 -1
  38. package/icc-x-api/icc-form-x-api.js +3 -4
  39. package/icc-x-api/icc-form-x-api.js.map +1 -1
  40. package/icc-x-api/icc-helement-x-api.js +11 -11
  41. package/icc-x-api/icc-helement-x-api.js.map +1 -1
  42. package/icc-x-api/icc-invoice-x-api.js +3 -4
  43. package/icc-x-api/icc-invoice-x-api.js.map +1 -1
  44. package/icc-x-api/icc-maintenance-task-x-api.js +3 -3
  45. package/icc-x-api/icc-maintenance-task-x-api.js.map +1 -1
  46. package/icc-x-api/icc-patient-x-api.js +29 -29
  47. package/icc-x-api/icc-patient-x-api.js.map +1 -1
  48. package/icc-x-api/icc-receipt-x-api.d.ts +40 -0
  49. package/icc-x-api/icc-receipt-x-api.js +79 -1
  50. package/icc-x-api/icc-receipt-x-api.js.map +1 -1
  51. package/icc-x-api/icc-topic-x-api.js.map +1 -1
  52. package/icc-x-api/index.js +1 -1
  53. package/icc-x-api/index.js.map +1 -1
  54. package/icc-x-api/utils/code-util.d.ts +23 -0
  55. package/icc-x-api/utils/code-util.js +39 -2
  56. package/icc-x-api/utils/code-util.js.map +1 -1
  57. package/icc-x-api/utils/collection-utils.d.ts +13 -0
  58. package/icc-x-api/utils/collection-utils.js +69 -0
  59. package/icc-x-api/utils/collection-utils.js.map +1 -1
  60. package/icc-x-api/utils/compression-utils.d.ts +28 -0
  61. package/icc-x-api/utils/compression-utils.js +106 -0
  62. package/icc-x-api/utils/compression-utils.js.map +1 -0
  63. package/icc-x-api/utils/crypto-utils.js +7 -7
  64. package/icc-x-api/utils/crypto-utils.js.map +1 -1
  65. package/icc-x-api/utils/formatting-util.d.ts +1 -3
  66. package/icc-x-api/utils/formatting-util.js +15 -17
  67. package/icc-x-api/utils/formatting-util.js.map +1 -1
  68. package/icc-x-api/utils/hcp-util.js +2 -3
  69. package/icc-x-api/utils/hcp-util.js.map +1 -1
  70. package/icc-x-api/utils/insurability-util.js +10 -8
  71. package/icc-x-api/utils/insurability-util.js.map +1 -1
  72. package/icc-x-api/utils/lzma-wasm.d.ts +6 -0
  73. package/icc-x-api/utils/lzma-wasm.js +81 -0
  74. package/icc-x-api/utils/lzma-wasm.js.map +1 -0
  75. package/icc-x-api/utils/mutex.d.ts +12 -0
  76. package/icc-x-api/utils/mutex.js +26 -0
  77. package/icc-x-api/utils/mutex.js.map +1 -0
  78. package/icc-x-api/utils/websocket.js +7 -7
  79. package/icc-x-api/utils/websocket.js.map +1 -1
  80. package/icc-x-api/wasm/lzma/lzma.js +2 -0
  81. package/icc-x-api/wasm/lzma/lzma.wasm +0 -0
  82. package/package.json +2 -11
  83. package/icc-x-api/utils/uuid-encoder.d.ts +0 -44
  84. package/icc-x-api/utils/uuid-encoder.js +0 -114
  85. package/icc-x-api/utils/uuid-encoder.js.map +0 -1
  86. package/test/icc-api/api/IccAgendaApi.d.ts +0 -1
  87. package/test/icc-api/api/IccAgendaApi.js +0 -64
  88. package/test/icc-api/api/IccAgendaApi.js.map +0 -1
  89. package/test/icc-api/api/IccAnonymousAccessApi.d.ts +0 -1
  90. package/test/icc-api/api/IccAnonymousAccessApi.js +0 -58
  91. package/test/icc-api/api/IccAnonymousAccessApi.js.map +0 -1
  92. package/test/icc-api/api/IccCalendarItemApi.d.ts +0 -1
  93. package/test/icc-api/api/IccCalendarItemApi.js +0 -67
  94. package/test/icc-api/api/IccCalendarItemApi.js.map +0 -1
  95. package/test/icc-api/api/IccCalendarItemTypeApi.d.ts +0 -1
  96. package/test/icc-api/api/IccCalendarItemTypeApi.js +0 -96
  97. package/test/icc-api/api/IccCalendarItemTypeApi.js.map +0 -1
  98. package/test/icc-api/api/IccCodeApi.d.ts +0 -1
  99. package/test/icc-api/api/IccCodeApi.js +0 -38
  100. package/test/icc-api/api/IccCodeApi.js.map +0 -1
  101. package/test/icc-api/api/IccDocumentApi.d.ts +0 -1
  102. package/test/icc-api/api/IccDocumentApi.js +0 -199
  103. package/test/icc-api/api/IccDocumentApi.js.map +0 -1
  104. package/test/icc-api/api/IccGroupApi.d.ts +0 -1
  105. package/test/icc-api/api/IccGroupApi.js +0 -50
  106. package/test/icc-api/api/IccGroupApi.js.map +0 -1
  107. package/test/icc-api/api/IccKeywordApi.d.ts +0 -1
  108. package/test/icc-api/api/IccKeywordApi.js +0 -64
  109. package/test/icc-api/api/IccKeywordApi.js.map +0 -1
  110. package/test/icc-api/api/IccMedicalLocationApi.d.ts +0 -1
  111. package/test/icc-api/api/IccMedicalLocationApi.js +0 -64
  112. package/test/icc-api/api/IccMedicalLocationApi.js.map +0 -1
  113. package/test/icc-api/api/IccPlaceApi.d.ts +0 -1
  114. package/test/icc-api/api/IccPlaceApi.js +0 -64
  115. package/test/icc-api/api/IccPlaceApi.js.map +0 -1
  116. package/test/icc-api/api/IccRecoveryDataApi.d.ts +0 -1
  117. package/test/icc-api/api/IccRecoveryDataApi.js +0 -95
  118. package/test/icc-api/api/IccRecoveryDataApi.js.map +0 -1
  119. package/test/icc-api/api/IccRoleApi.d.ts +0 -1
  120. package/test/icc-api/api/IccRoleApi.js +0 -34
  121. package/test/icc-api/api/IccRoleApi.js.map +0 -1
  122. package/test/icc-api/api/IccUserApi.d.ts +0 -1
  123. package/test/icc-api/api/IccUserApi.js +0 -96
  124. package/test/icc-api/api/IccUserApi.js.map +0 -1
  125. package/test/icc-api/e2e/IccCalendarItemApi.d.ts +0 -1
  126. package/test/icc-api/e2e/IccCalendarItemApi.js +0 -46
  127. package/test/icc-api/e2e/IccCalendarItemApi.js.map +0 -1
  128. package/test/icc-api/model/modelHelpersTest.d.ts +0 -1
  129. package/test/icc-api/model/modelHelpersTest.js +0 -45
  130. package/test/icc-api/model/modelHelpersTest.js.map +0 -1
  131. package/test/icc-x-api/auth/group-switch-test.d.ts +0 -1
  132. package/test/icc-x-api/auth/group-switch-test.js +0 -81
  133. package/test/icc-x-api/auth/group-switch-test.js.map +0 -1
  134. package/test/icc-x-api/auth/jwt-concurrency-test.d.ts +0 -2
  135. package/test/icc-x-api/auth/jwt-concurrency-test.js +0 -112
  136. package/test/icc-x-api/auth/jwt-concurrency-test.js.map +0 -1
  137. package/test/icc-x-api/auth/jwt-provider-test.d.ts +0 -1
  138. package/test/icc-x-api/auth/jwt-provider-test.js +0 -197
  139. package/test/icc-x-api/auth/jwt-provider-test.js.map +0 -1
  140. package/test/icc-x-api/auth/smart-auth-provider-test.d.ts +0 -1
  141. package/test/icc-x-api/auth/smart-auth-provider-test.js +0 -224
  142. package/test/icc-x-api/auth/smart-auth-provider-test.js.map +0 -1
  143. package/test/icc-x-api/autofix-anonymity-test.d.ts +0 -1
  144. package/test/icc-x-api/autofix-anonymity-test.js +0 -122
  145. package/test/icc-x-api/autofix-anonymity-test.js.map +0 -1
  146. package/test/icc-x-api/confidential-entities-test.d.ts +0 -1
  147. package/test/icc-x-api/confidential-entities-test.js +0 -168
  148. package/test/icc-x-api/confidential-entities-test.js.map +0 -1
  149. package/test/icc-x-api/crud/comprehensive-crud-test.d.ts +0 -1
  150. package/test/icc-x-api/crud/comprehensive-crud-test.js +0 -276
  151. package/test/icc-x-api/crud/comprehensive-crud-test.js.map +0 -1
  152. package/test/icc-x-api/crud/entities-crud-test-interface.d.ts +0 -16
  153. package/test/icc-x-api/crud/entities-crud-test-interface.js +0 -408
  154. package/test/icc-x-api/crud/entities-crud-test-interface.js.map +0 -1
  155. package/test/icc-x-api/crypto/anonymous-delegations-test.d.ts +0 -1
  156. package/test/icc-x-api/crypto/anonymous-delegations-test.js +0 -587
  157. package/test/icc-x-api/crypto/anonymous-delegations-test.js.map +0 -1
  158. package/test/icc-x-api/crypto/concurrency.d.ts +0 -1
  159. package/test/icc-x-api/crypto/concurrency.js +0 -35
  160. package/test/icc-x-api/crypto/concurrency.js.map +0 -1
  161. package/test/icc-x-api/crypto/crypto-utils.d.ts +0 -1
  162. package/test/icc-x-api/crypto/crypto-utils.js +0 -79
  163. package/test/icc-x-api/crypto/crypto-utils.js.map +0 -1
  164. package/test/icc-x-api/crypto/cryptoTest.d.ts +0 -2
  165. package/test/icc-x-api/crypto/cryptoTest.js +0 -402
  166. package/test/icc-x-api/crypto/cryptoTest.js.map +0 -1
  167. package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.d.ts +0 -1
  168. package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.js +0 -166
  169. package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.js.map +0 -1
  170. package/test/icc-x-api/crypto/exchange-data-manager-test.d.ts +0 -1
  171. package/test/icc-x-api/crypto/exchange-data-manager-test.js +0 -674
  172. package/test/icc-x-api/crypto/exchange-data-manager-test.js.map +0 -1
  173. package/test/icc-x-api/crypto/full-crypto-test.d.ts +0 -1
  174. package/test/icc-x-api/crypto/full-crypto-test.js +0 -454
  175. package/test/icc-x-api/crypto/full-crypto-test.js.map +0 -1
  176. package/test/icc-x-api/crypto/legacy-metadata-migration-test.d.ts +0 -1
  177. package/test/icc-x-api/crypto/legacy-metadata-migration-test.js +0 -379
  178. package/test/icc-x-api/crypto/legacy-metadata-migration-test.js.map +0 -1
  179. package/test/icc-x-api/crypto/secure-delegations-manager-test.d.ts +0 -1
  180. package/test/icc-x-api/crypto/secure-delegations-manager-test.js +0 -278
  181. package/test/icc-x-api/crypto/secure-delegations-manager-test.js.map +0 -1
  182. package/test/icc-x-api/crypto/shamir.d.ts +0 -2
  183. package/test/icc-x-api/crypto/shamir.js +0 -167
  184. package/test/icc-x-api/crypto/shamir.js.map +0 -1
  185. package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.d.ts +0 -1
  186. package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.js +0 -71
  187. package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.js.map +0 -1
  188. package/test/icc-x-api/crypto/soft-deleted-data-owners.d.ts +0 -2
  189. package/test/icc-x-api/crypto/soft-deleted-data-owners.js +0 -113
  190. package/test/icc-x-api/crypto/soft-deleted-data-owners.js.map +0 -1
  191. package/test/icc-x-api/crypto/user-encryption-keys-manager-test.d.ts +0 -1
  192. package/test/icc-x-api/crypto/user-encryption-keys-manager-test.js +0 -246
  193. package/test/icc-x-api/crypto/user-encryption-keys-manager-test.js.map +0 -1
  194. package/test/icc-x-api/entity-with-attachments-api-test.d.ts +0 -1
  195. package/test/icc-x-api/entity-with-attachments-api-test.js +0 -142
  196. package/test/icc-x-api/entity-with-attachments-api-test.js.map +0 -1
  197. package/test/icc-x-api/filters/filters.d.ts +0 -1
  198. package/test/icc-x-api/filters/filters.js +0 -49
  199. package/test/icc-x-api/filters/filters.js.map +0 -1
  200. package/test/icc-x-api/filters/healthelement.d.ts +0 -1
  201. package/test/icc-x-api/filters/healthelement.js +0 -333
  202. package/test/icc-x-api/filters/healthelement.js.map +0 -1
  203. package/test/icc-x-api/icc-accesslog-x-api.d.ts +0 -1
  204. package/test/icc-x-api/icc-accesslog-x-api.js +0 -106
  205. package/test/icc-x-api/icc-accesslog-x-api.js.map +0 -1
  206. package/test/icc-x-api/icc-application-settings-x-api.d.ts +0 -1
  207. package/test/icc-x-api/icc-application-settings-x-api.js +0 -91
  208. package/test/icc-x-api/icc-application-settings-x-api.js.map +0 -1
  209. package/test/icc-x-api/icc-auth-api.d.ts +0 -1
  210. package/test/icc-x-api/icc-auth-api.js +0 -47
  211. package/test/icc-x-api/icc-auth-api.js.map +0 -1
  212. package/test/icc-x-api/icc-calendar-item-x-api.d.ts +0 -1
  213. package/test/icc-x-api/icc-calendar-item-x-api.js +0 -150
  214. package/test/icc-x-api/icc-calendar-item-x-api.js.map +0 -1
  215. package/test/icc-x-api/icc-contact-x-api.d.ts +0 -1
  216. package/test/icc-x-api/icc-contact-x-api.js +0 -355
  217. package/test/icc-x-api/icc-contact-x-api.js.map +0 -1
  218. package/test/icc-x-api/icc-document-x-api.d.ts +0 -1
  219. package/test/icc-x-api/icc-document-x-api.js +0 -76
  220. package/test/icc-x-api/icc-document-x-api.js.map +0 -1
  221. package/test/icc-x-api/icc-form-x-api.d.ts +0 -1
  222. package/test/icc-x-api/icc-form-x-api.js +0 -413
  223. package/test/icc-x-api/icc-form-x-api.js.map +0 -1
  224. package/test/icc-x-api/icc-hcparty-x-api-test.d.ts +0 -1
  225. package/test/icc-x-api/icc-hcparty-x-api-test.js +0 -43
  226. package/test/icc-x-api/icc-hcparty-x-api-test.js.map +0 -1
  227. package/test/icc-x-api/icc-helement-x-api-test.d.ts +0 -1
  228. package/test/icc-x-api/icc-helement-x-api-test.js +0 -155
  229. package/test/icc-x-api/icc-helement-x-api-test.js.map +0 -1
  230. package/test/icc-x-api/icc-invoice-x-api.d.ts +0 -1
  231. package/test/icc-x-api/icc-invoice-x-api.js +0 -99
  232. package/test/icc-x-api/icc-invoice-x-api.js.map +0 -1
  233. package/test/icc-x-api/icc-maintenance-task-x-api-test.d.ts +0 -1
  234. package/test/icc-x-api/icc-maintenance-task-x-api-test.js +0 -222
  235. package/test/icc-x-api/icc-maintenance-task-x-api-test.js.map +0 -1
  236. package/test/icc-x-api/icc-message-x-api.d.ts +0 -1
  237. package/test/icc-x-api/icc-message-x-api.js +0 -54
  238. package/test/icc-x-api/icc-message-x-api.js.map +0 -1
  239. package/test/icc-x-api/icc-patient-x-api-test.d.ts +0 -1
  240. package/test/icc-x-api/icc-patient-x-api-test.js +0 -165
  241. package/test/icc-x-api/icc-patient-x-api-test.js.map +0 -1
  242. package/test/icc-x-api/icc-recovery-x-api.d.ts +0 -1
  243. package/test/icc-x-api/icc-recovery-x-api.js +0 -175
  244. package/test/icc-x-api/icc-recovery-x-api.js.map +0 -1
  245. package/test/icc-x-api/icc-topic-x-api.d.ts +0 -1
  246. package/test/icc-x-api/icc-topic-x-api.js +0 -269
  247. package/test/icc-x-api/icc-topic-x-api.js.map +0 -1
  248. package/test/icc-x-api/icc-user-x-api-test.d.ts +0 -1
  249. package/test/icc-x-api/icc-user-x-api-test.js +0 -99
  250. package/test/icc-x-api/icc-user-x-api-test.js.map +0 -1
  251. package/test/icc-x-api/keyless-api.d.ts +0 -1
  252. package/test/icc-x-api/keyless-api.js +0 -125
  253. package/test/icc-x-api/keyless-api.js.map +0 -1
  254. package/test/icc-x-api/patient-user.d.ts +0 -2
  255. package/test/icc-x-api/patient-user.js +0 -103
  256. package/test/icc-x-api/patient-user.js.map +0 -1
  257. package/test/icc-x-api/storage/storage.d.ts +0 -1
  258. package/test/icc-x-api/storage/storage.js +0 -48
  259. package/test/icc-x-api/storage/storage.js.map +0 -1
  260. package/test/icc-x-api/test-api-no-parent.d.ts +0 -1
  261. package/test/icc-x-api/test-api-no-parent.js +0 -79
  262. package/test/icc-x-api/test-api-no-parent.js.map +0 -1
  263. package/test/icc-x-api/test-legacy-data-support.d.ts +0 -1
  264. package/test/icc-x-api/test-legacy-data-support.js +0 -375
  265. package/test/icc-x-api/test-legacy-data-support.js.map +0 -1
  266. package/test/icc-x-api/utils/graph-test.d.ts +0 -1
  267. package/test/icc-x-api/utils/graph-test.js +0 -54
  268. package/test/icc-x-api/utils/graph-test.js.map +0 -1
  269. package/test/icc-x-api/utils/lru-temporised-async-cache-test.d.ts +0 -1
  270. package/test/icc-x-api/utils/lru-temporised-async-cache-test.js +0 -364
  271. package/test/icc-x-api/utils/lru-temporised-async-cache-test.js.map +0 -1
  272. package/test/support/CSM-185.d.ts +0 -1
  273. package/test/support/CSM-185.js +0 -124
  274. package/test/support/CSM-185.js.map +0 -1
  275. package/test/support/CSM-243.d.ts +0 -1
  276. package/test/support/CSM-243.js +0 -120
  277. package/test/support/CSM-243.js.map +0 -1
  278. package/test/support/CSM-543.d.ts +0 -1
  279. package/test/support/CSM-543.js +0 -164
  280. package/test/support/CSM-543.js.map +0 -1
  281. package/test/support/CSM-729.d.ts +0 -1
  282. package/test/support/CSM-729.js +0 -225
  283. package/test/support/CSM-729.js.map +0 -1
  284. package/test/support/CSM-87.d.ts +0 -0
  285. package/test/support/CSM-87.js +0 -21
  286. package/test/support/CSM-87.js.map +0 -1
  287. package/test/support/CSM-93.d.ts +0 -1
  288. package/test/support/CSM-93.js +0 -112
  289. package/test/support/CSM-93.js.map +0 -1
  290. package/test/utils/FakeDataOwnerApi.d.ts +0 -32
  291. package/test/utils/FakeDataOwnerApi.js +0 -136
  292. package/test/utils/FakeDataOwnerApi.js.map +0 -1
  293. package/test/utils/FakeEncryptionKeysManager.d.ts +0 -36
  294. package/test/utils/FakeEncryptionKeysManager.js +0 -98
  295. package/test/utils/FakeEncryptionKeysManager.js.map +0 -1
  296. package/test/utils/FakeExchangeDataApi.d.ts +0 -32
  297. package/test/utils/FakeExchangeDataApi.js +0 -92
  298. package/test/utils/FakeExchangeDataApi.js.map +0 -1
  299. package/test/utils/FakeExchangeDataManager.d.ts +0 -48
  300. package/test/utils/FakeExchangeDataManager.js +0 -82
  301. package/test/utils/FakeExchangeDataManager.js.map +0 -1
  302. package/test/utils/FakeExchangeDataMapManager.d.ts +0 -12
  303. package/test/utils/FakeExchangeDataMapManager.js +0 -38
  304. package/test/utils/FakeExchangeDataMapManager.js.map +0 -1
  305. package/test/utils/FakeGenericApi.d.ts +0 -16
  306. package/test/utils/FakeGenericApi.js +0 -65
  307. package/test/utils/FakeGenericApi.js.map +0 -1
  308. package/test/utils/KeylessCryptoStrategies.d.ts +0 -23
  309. package/test/utils/KeylessCryptoStrategies.js +0 -26
  310. package/test/utils/KeylessCryptoStrategies.js.map +0 -1
  311. package/test/utils/TestApi.d.ts +0 -3
  312. package/test/utils/TestApi.js +0 -30
  313. package/test/utils/TestApi.js.map +0 -1
  314. package/test/utils/TestCollectionUtils.d.ts +0 -1
  315. package/test/utils/TestCollectionUtils.js +0 -109
  316. package/test/utils/TestCollectionUtils.js.map +0 -1
  317. package/test/utils/TestCryptoStrategies.d.ts +0 -42
  318. package/test/utils/TestCryptoStrategies.js +0 -80
  319. package/test/utils/TestCryptoStrategies.js.map +0 -1
  320. package/test/utils/TestStorage.d.ts +0 -23
  321. package/test/utils/TestStorage.js +0 -61
  322. package/test/utils/TestStorage.js.map +0 -1
  323. package/test/utils/roles.d.ts +0 -14
  324. package/test/utils/roles.js +0 -345
  325. package/test/utils/roles.js.map +0 -1
  326. package/test/utils/test_utils.d.ts +0 -87
  327. package/test/utils/test_utils.js +0 -452
  328. package/test/utils/test_utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"confidential-entities-test.js","sourceRoot":"","sources":["../../../test/icc-x-api/confidential-entities-test.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHcpHierarchyApis, getEnvironmentInitializer, isLiteTest, setLocalStorage } from '../utils/test_utils'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { expect } from 'chai'\nimport 'isomorphic-fetch'\nimport { EntityWithDelegationTypeName } from '../../icc-x-api'\nimport { SecretIdUseOption } from '../../icc-x-api/crypto/SecretIdUseOption'\nimport UseAnyConfidential = SecretIdUseOption.UseAnyConfidential\nimport UseAnySharedWithParent = SecretIdUseOption.UseAnySharedWithParent\nimport { randomUUID } from 'crypto'\nimport UseAllConfidential = SecretIdUseOption.UseAllConfidential\nimport UseAllSharedWithParent = SecretIdUseOption.UseAllSharedWithParent\nimport UseNone = SecretIdUseOption.UseNone\n\nsetLocalStorage(fetch)\n\nvar env: TestVars\n\ndescribe('test confidential helement', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('confidential entity should be accessible only to user, non confidential should be accessible also to parent', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n\n const patientSecretIdsForParent = await parentApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n const patientSecretIdsForChild = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(patientSecretIdsForParent).to.have.length(1)\n expect(patientSecretIdsForChild).to.have.length(2)\n expect(patientSecretIdsForChild).to.contain(patientSecretIdsForParent[0])\n expect(patientSecretIdsForChild[0]).to.not.eq(patientSecretIdsForChild[1])\n\n const confidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n )\n expect(confidentialHe.descr).to.eq('Confidential info')\n const nonConfidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Non confidential info' },\n { sfkOption: UseAnySharedWithParent }\n )\n )\n expect(nonConfidentialHe.descr).to.eq('Non confidential info')\n\n const retrievedHesAsUser = await childApi.healthcareElementApi.findBy(childUser.healthcarePartyId!, modifiedPatient)\n expect(retrievedHesAsUser.length).to.equal(2, 'Child should see confidential and non-confidential data created by him')\n expect(retrievedHesAsUser.map((he) => he.id)).to.have.members([confidentialHe.id, nonConfidentialHe.id])\n const retrievedConfidential = retrievedHesAsUser.find((he) => he.id === confidentialHe.id)\n const retrievedNonConfidential = retrievedHesAsUser.find((he) => he.id === nonConfidentialHe.id)\n expect(retrievedConfidential).to.deep.eq(confidentialHe)\n expect(retrievedNonConfidential).to.deep.eq(nonConfidentialHe)\n\n const retrievedHesAsParent = await parentApi.healthcareElementApi.findBy(parentUser.healthcarePartyId!, modifiedPatient)\n expect(retrievedHesAsParent.length).to.equal(1, 'Parent should not see confidential data, but only non-confidential data created by child')\n expect(retrievedHesAsParent[0]).to.deep.eq(nonConfidentialHe)\n let failedToRetrieve = false\n try {\n await parentApi.healthcareElementApi.getHealthElementWithUser(parentUser, confidentialHe.id!)\n } catch (e) {\n console.log(e)\n failedToRetrieve = true\n }\n if (!isLiteTest()) {\n expect(failedToRetrieve).to.equal(true, 'Parent should fail to retrieve confidential data')\n }\n // Even if in some way I could get the contact I should not be able to decrypt it\n expect(\n await parentApi.cryptoApi.xapi.encryptionKeysOf({ entity: confidentialHe!, type: EntityWithDelegationTypeName.HealthElement }, undefined)\n ).to.have.length(0)\n })\n\n it('creation of confidential data should fail if no confidential secret id is available for patient', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.createPatientWithUser(\n childUser,\n await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n )\n let failed = false\n try {\n await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n } catch {\n failed = true\n }\n expect(failed).to.equal(true, 'Creation of confidential data should fail if no confidential secret id is available for patient')\n })\n\n it('creation of non-confidential data should fail if no secret id is available for parent', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!, false)\n\n const pat = await childApi.patientApi.createPatientWithUser(\n childUser,\n await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n )\n let failed = false\n try {\n await childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Confidential info' }, { sfkOption: UseAnySharedWithParent })\n } catch {\n failed = true\n }\n expect(failed).to.equal(true, 'Creation of confidential data should fail if no non-confidential secret id is available for patient')\n })\n\n it('confidential or non-confidential is irrelevant if api is initialised without parent key initialisation: data created by user is only accessible to him', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!, false, true)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n\n const confidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n )\n expect(confidentialHe.descr).to.eq('Confidential info')\n const nonConfidentialHe = await childApi.healthcareElementApi.createHealthElementWithUser(\n childUser,\n await childApi.healthcareElementApi.newInstance(childUser, pat, { descr: 'Non confidential info' }, { sfkOption: UseAnySharedWithParent })\n )\n expect(nonConfidentialHe.descr).to.eq('Non confidential info')\n\n const retrievedHesAsUser = await childApi.healthcareElementApi.findBy(childUser.healthcarePartyId!, pat)\n expect(retrievedHesAsUser.length).to.equal(2, 'Child should see confidential and non-confidential data created by him')\n expect(retrievedHesAsUser.map((he) => he.id)).to.have.members([confidentialHe.id, nonConfidentialHe.id])\n const retrievedConfidential = retrievedHesAsUser.find((he) => he.id === confidentialHe.id)\n const retrievedNonConfidential = retrievedHesAsUser.find((he) => he.id === nonConfidentialHe.id)\n expect(retrievedConfidential).to.deep.eq(confidentialHe)\n expect(retrievedNonConfidential).to.deep.eq(nonConfidentialHe)\n\n await parentApi.patientApi.decryptSecretIdsOf(pat)\n })\n\n it('sfk confidential option should use one or all secret ids as requested', async () => {\n // Use only the top of the hierarchy for simplicity of the test\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n let modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n modifiedPatient = await childApi.patientApi.shareWith(childUser.healthcarePartyId!, modifiedPatient, [randomUUID()])\n modifiedPatient = await childApi.patientApi.shareWith(parentUser.healthcarePartyId!, modifiedPatient, [randomUUID()])\n\n const patientSecretIdsForParent = await parentApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n const patientSecretIdsForChild = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(patientSecretIdsForParent).to.have.length(2)\n expect(patientSecretIdsForChild).to.have.length(4)\n const confidentialSecretIds = patientSecretIdsForChild.filter((x) => !patientSecretIdsForParent.includes(x))\n const nonConfidentialSecretIds = patientSecretIdsForParent\n expect(confidentialSecretIds).to.have.length(2)\n expect(await childApi.patientApi.decryptConfidentialSecretIdsOf(modifiedPatient)).to.have.members(confidentialSecretIds)\n expect(await childApi.patientApi.decryptNonConfidentialSecretIdsOf(modifiedPatient)).to.have.members(nonConfidentialSecretIds)\n const anyConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnyConfidential, ignoreAutoDelegations: true }\n )\n expect(anyConfidentialHe.secretForeignKeys).to.have.length(1)\n expect(confidentialSecretIds).to.include(anyConfidentialHe.secretForeignKeys![0])\n const allConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAllConfidential, ignoreAutoDelegations: true }\n )\n expect(allConfidentialHe.secretForeignKeys).to.have.members(confidentialSecretIds)\n const anyNonConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAnySharedWithParent }\n )\n expect(anyNonConfidentialHe.secretForeignKeys).to.have.length(1)\n expect(nonConfidentialSecretIds).to.include(anyNonConfidentialHe.secretForeignKeys![0])\n const allNonConfidentialHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n modifiedPatient,\n { descr: 'Confidential info' },\n { sfkOption: UseAllSharedWithParent }\n )\n expect(allNonConfidentialHe.secretForeignKeys).to.have.members(nonConfidentialSecretIds)\n })\n\n it('Should allow creation of half-links by using no sfk', async () => {\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const halfLinkedHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: UseNone, ignoreAutoDelegations: true }\n )\n expect(halfLinkedHe.secretForeignKeys).to.have.length(0)\n const decryptedPatientId = await childApi.healthcareElementApi.decryptPatientIdOf(halfLinkedHe)\n expect(decryptedPatientId).to.have.length(1)\n expect(decryptedPatientId[0]).to.equal(pat.id)\n })\n\n it('Should allow creation of links using the provided sfks', async () => {\n const { parentApi: childApi, parentUser: childUser, grandApi: parentApi, grandUser: parentUser } = await createHcpHierarchyApis(env!)\n\n const pat = await childApi.patientApi.newInstance(childUser, { firstName: 'John', lastName: 'Doe' })\n const modifiedPatient = (await childApi.patientApi.initConfidentialSecretId(pat, childUser))!\n const secretIds = await childApi.patientApi.decryptSecretIdsOf(modifiedPatient)\n expect(secretIds).to.have.length(2)\n const halfLinkedHe = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use([]), ignoreAutoDelegations: true }\n )\n expect(halfLinkedHe.secretForeignKeys).to.have.length(0)\n const linkedHeSfk0 = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use([secretIds[0]]), ignoreAutoDelegations: true }\n )\n expect(linkedHeSfk0.secretForeignKeys).to.have.members([secretIds[0]])\n const linkedHeSfk1 = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use([secretIds[1]]), ignoreAutoDelegations: true }\n )\n expect(linkedHeSfk1.secretForeignKeys).to.have.members([secretIds[1]])\n const linkedHeSfkBoth = await childApi.healthcareElementApi.newInstance(\n childUser,\n pat,\n { descr: 'Confidential info' },\n { sfkOption: new SecretIdUseOption.Use(secretIds), ignoreAutoDelegations: true }\n )\n expect(linkedHeSfkBoth.secretForeignKeys).to.have.members(secretIds)\n })\n})\n"]}
@@ -1 +0,0 @@
1
- import 'isomorphic-fetch';
@@ -1,276 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("isomorphic-fetch");
13
- const mocha_1 = require("mocha");
14
- const test_utils_1 = require("../../utils/test_utils");
15
- const types_1 = require("@icure/test-setup/types");
16
- const icc_x_api_1 = require("../../../icc-x-api");
17
- const chaiAsPromised = require("chai-as-promised");
18
- const chai_1 = require("chai");
19
- const entities_crud_test_interface_1 = require("./entities-crud-test-interface");
20
- const IdWithRev_1 = require("../../../icc-api/model/IdWithRev");
21
- const crypto_1 = require("crypto");
22
- const TestCryptoStrategies_1 = require("../../utils/TestCryptoStrategies");
23
- var initMasterApi = test_utils_1.TestUtils.initMasterApi;
24
- var initApi = test_utils_1.TestUtils.initApi;
25
- (0, chai_1.use)(chaiAsPromised);
26
- (0, test_utils_1.setLocalStorage)(fetch);
27
- let masterApi;
28
- let hcpApi;
29
- let patientApi;
30
- let noPermissionsApi;
31
- let patient;
32
- let entitiesPermissions;
33
- let env;
34
- describe('CRUD Test', () => {
35
- (0, mocha_1.before)(function () {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- this.timeout(600000);
38
- const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
39
- env = yield initializer.execute((0, types_1.getEnvVariables)());
40
- masterApi = yield initMasterApi(env);
41
- hcpApi = yield initApi(env, test_utils_1.hcp1Username);
42
- patientApi = yield initApi(env, test_utils_1.patUsername);
43
- const patientUser = yield patientApi.userApi.getCurrentUser();
44
- patient = yield patientApi.patientApi.getPatientWithUser(patientUser, patientUser.patientId);
45
- const { api, credentials, user } = yield (0, test_utils_1.createNewHcpApi)(env);
46
- if (!(0, test_utils_1.isLiteTest)())
47
- yield masterApi.userApi.setRoles(user.id, ['BASIC_USER']);
48
- const RSA = new icc_x_api_1.RSAUtilsImpl(crypto_1.webcrypto);
49
- const keys = {
50
- publicKey: yield RSA.importKey('spki', (0, icc_x_api_1.ua2ab)((0, icc_x_api_1.hex2ua)(credentials.publicKey)), ['encrypt'], icc_x_api_1.ShaVersion.Sha1),
51
- privateKey: yield RSA.importKey('pkcs8', (0, icc_x_api_1.ua2ab)((0, icc_x_api_1.hex2ua)(credentials.privateKey)), ['decrypt'], icc_x_api_1.ShaVersion.Sha1),
52
- };
53
- noPermissionsApi = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: credentials.user, password: credentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(keys), crypto_1.webcrypto, fetch);
54
- entitiesPermissions = {
55
- AccessLog: {
56
- create: { allowed: masterApi, denied: noPermissionsApi },
57
- delete: { allowed: hcpApi, denied: hcpApi },
58
- },
59
- Agenda: {
60
- create: { allowed: masterApi },
61
- delete: { allowed: hcpApi, denied: patientApi },
62
- },
63
- Article: {
64
- create: { allowed: masterApi, denied: patientApi },
65
- delete: { allowed: masterApi, denied: hcpApi },
66
- },
67
- CalendarItem: {
68
- create: { allowed: masterApi, denied: noPermissionsApi },
69
- delete: { allowed: hcpApi, denied: hcpApi },
70
- },
71
- CalendarItemType: {
72
- create: { allowed: masterApi },
73
- delete: { allowed: hcpApi, denied: patientApi },
74
- },
75
- Classification: {
76
- create: { allowed: masterApi, denied: noPermissionsApi },
77
- delete: { allowed: hcpApi, denied: hcpApi },
78
- },
79
- ClassificationTemplate: {
80
- create: { allowed: masterApi, denied: patientApi },
81
- delete: { allowed: masterApi, denied: hcpApi },
82
- },
83
- Contact: {
84
- create: { allowed: masterApi, denied: noPermissionsApi },
85
- delete: { allowed: hcpApi, denied: hcpApi },
86
- },
87
- Device: {
88
- create: { allowed: masterApi },
89
- delete: { allowed: hcpApi, denied: patientApi },
90
- },
91
- Document: {
92
- create: { allowed: masterApi, denied: noPermissionsApi },
93
- delete: { allowed: hcpApi, denied: hcpApi },
94
- },
95
- Form: {
96
- create: { allowed: masterApi, denied: noPermissionsApi },
97
- delete: { allowed: hcpApi, denied: hcpApi },
98
- },
99
- HealthcarePartyInGroup: {
100
- create: { allowed: masterApi, denied: noPermissionsApi },
101
- delete: { allowed: masterApi, denied: patientApi },
102
- },
103
- HealthcareParty: {
104
- create: { allowed: masterApi, denied: noPermissionsApi },
105
- delete: { allowed: masterApi, denied: patientApi },
106
- },
107
- HealthcareElement: {
108
- create: { allowed: masterApi, denied: noPermissionsApi },
109
- delete: { allowed: hcpApi, denied: hcpApi },
110
- },
111
- Insurance: {
112
- create: { allowed: masterApi, denied: noPermissionsApi },
113
- delete: { allowed: masterApi, denied: patientApi },
114
- },
115
- Invoice: {
116
- create: { allowed: masterApi, denied: noPermissionsApi },
117
- delete: { allowed: masterApi, denied: patientApi },
118
- },
119
- Keyword: {
120
- create: { allowed: masterApi, denied: noPermissionsApi },
121
- delete: { allowed: masterApi, denied: patientApi },
122
- },
123
- MaintenanceTask: {
124
- create: { allowed: masterApi, denied: noPermissionsApi },
125
- delete: { allowed: hcpApi, denied: hcpApi },
126
- },
127
- MedicalLocation: {
128
- create: { allowed: masterApi, denied: noPermissionsApi },
129
- delete: { allowed: masterApi, denied: patientApi },
130
- },
131
- Message: {
132
- create: { allowed: masterApi, denied: noPermissionsApi },
133
- delete: { allowed: hcpApi, denied: hcpApi },
134
- },
135
- Patient: {
136
- create: { allowed: masterApi, denied: noPermissionsApi },
137
- delete: { allowed: hcpApi, denied: hcpApi },
138
- },
139
- Place: {
140
- create: { allowed: masterApi, denied: noPermissionsApi },
141
- delete: { allowed: masterApi, denied: patientApi },
142
- },
143
- Receipt: {
144
- create: { allowed: masterApi, denied: noPermissionsApi },
145
- delete: { allowed: hcpApi, denied: hcpApi },
146
- },
147
- TimeTable: {
148
- create: { allowed: masterApi, denied: noPermissionsApi },
149
- delete: { allowed: hcpApi, denied: hcpApi },
150
- },
151
- Topic: {
152
- create: { allowed: masterApi, denied: noPermissionsApi },
153
- delete: { allowed: hcpApi, denied: hcpApi },
154
- },
155
- };
156
- });
157
- });
158
- Object.entries(entities_crud_test_interface_1.entities)
159
- .filter(([, operations]) => {
160
- return !(0, test_utils_1.isLiteTest)() || !operations.cloudOnly;
161
- })
162
- .forEach(([entityType, operations]) => {
163
- it(`A user with create permissions can create a ${entityType}`, () => __awaiter(void 0, void 0, void 0, function* () {
164
- const api = entitiesPermissions[entityType].create.allowed;
165
- const entity = yield operations.create(api, patient);
166
- (0, chai_1.expect)(entity.rev).not.to.be.undefined;
167
- }));
168
- (0, test_utils_1.itNoLite)(`A user without create permissions cannot create a ${entityType}`, function () {
169
- return __awaiter(this, void 0, void 0, function* () {
170
- if (!!operations.skipDenied)
171
- this.skip();
172
- const api = entitiesPermissions[entityType].create.denied;
173
- if (!api)
174
- this.skip();
175
- yield (0, chai_1.expect)(operations.create(api, patient)).to.be.rejected;
176
- });
177
- });
178
- it(`A user can delete many ${entityType} if they have access to them`, function () {
179
- return __awaiter(this, void 0, void 0, function* () {
180
- if (!operations.encryptable) {
181
- this.skip();
182
- }
183
- const creationApi = entitiesPermissions[entityType].create.allowed;
184
- const api = entitiesPermissions[entityType].delete.allowed;
185
- const notAccessibleEntities = [];
186
- for (let i = 0; i <= 5; i++) {
187
- const entity = yield operations.create(creationApi, patient);
188
- notAccessibleEntities.push(entity);
189
- }
190
- const accessibleEntities = [];
191
- for (let i = 0; i <= 5; i++) {
192
- const entity = yield operations.create(creationApi, patient).then((e) => {
193
- return operations.share(creationApi, api, e);
194
- });
195
- accessibleEntities.push(entity);
196
- }
197
- const result = yield operations.deleteMany(api, (0, test_utils_1.isLiteTest)() ? accessibleEntities : notAccessibleEntities.concat(accessibleEntities));
198
- (0, chai_1.expect)(result.length).to.be.equal(accessibleEntities.length);
199
- result.forEach((el) => {
200
- (0, chai_1.expect)(accessibleEntities.find((it) => it.id === el.id)).not.to.be.undefined;
201
- });
202
- });
203
- });
204
- (0, test_utils_1.itNoLite)(`A user can delete many ${entityType} if they have the correct role`, function () {
205
- return __awaiter(this, void 0, void 0, function* () {
206
- if (!!operations.encryptable)
207
- this.skip();
208
- const creationApi = entitiesPermissions[entityType].create.allowed;
209
- const api = entitiesPermissions[entityType].delete.allowed;
210
- const entities = [];
211
- for (let i = 0; i <= 5; i++) {
212
- const entity = yield operations.create(creationApi, patient);
213
- entities.push(entity);
214
- }
215
- const result = yield operations.deleteMany(api, entities);
216
- (0, chai_1.expect)(result.length).to.be.equal(entities.length);
217
- result.forEach((el) => {
218
- (0, chai_1.expect)(entities.find((it) => it.id === el.id)).not.to.be.undefined;
219
- });
220
- });
221
- });
222
- (0, test_utils_1.itNoLite)(`A user cannot delete many ${entityType} if they do not have the correct role`, function () {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- if (!!operations.skipDenied)
225
- this.skip();
226
- const creationApi = entitiesPermissions[entityType].create.allowed;
227
- const api = entitiesPermissions[entityType].delete.denied;
228
- if (!api) {
229
- throw new Error('An API is required to perform this test');
230
- }
231
- const entities = [];
232
- for (let i = 0; i <= 5; i++) {
233
- const entity = yield operations.create(creationApi, patient);
234
- entities.push(entity);
235
- }
236
- yield operations.deleteMany(api, entities).then((result) => {
237
- (0, chai_1.expect)(result).to.be.empty;
238
- }, () => {
239
- (0, chai_1.expect)(true).to.be.eq(true, 'Response should be empty or promise rejected');
240
- });
241
- });
242
- });
243
- it(`A user can delete a single ${entityType} if they have access to it`, function () {
244
- return __awaiter(this, void 0, void 0, function* () {
245
- const creationApi = entitiesPermissions[entityType].create.allowed;
246
- const api = entitiesPermissions[entityType].delete.allowed;
247
- const entity = yield operations.create(creationApi, patient).then((e) => {
248
- return operations.share(creationApi, api, e);
249
- });
250
- const result = yield operations.delete(api, entity);
251
- (0, chai_1.expect)(result.id).to.be.equal(entity.id);
252
- });
253
- });
254
- (0, test_utils_1.itNoLite)(`A user cannot delete a single ${entityType} if they do not have access to it`, function () {
255
- return __awaiter(this, void 0, void 0, function* () {
256
- if (!!operations.skipDenied) {
257
- this.skip();
258
- }
259
- const creationApi = entitiesPermissions[entityType].create.allowed;
260
- const api = entitiesPermissions[entityType].delete.denied;
261
- if (!api) {
262
- throw new Error('An API is required to perform this test');
263
- }
264
- const entity = yield operations.create(creationApi, patient);
265
- yield (0, chai_1.expect)(operations.delete(api, entity)).to.be.rejected;
266
- });
267
- });
268
- it(`A user cannot delete a single ${entityType} that does not exist`, function () {
269
- return __awaiter(this, void 0, void 0, function* () {
270
- const api = entitiesPermissions[entityType].delete.allowed;
271
- yield (0, chai_1.expect)(operations.delete(api, new IdWithRev_1.IdWithRev({ id: (0, crypto_1.randomUUID)() }))).to.be.rejected;
272
- });
273
- });
274
- });
275
- });
276
- //# sourceMappingURL=comprehensive-crud-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comprehensive-crud-test.js","sourceRoot":"","sources":["../../../../test/icc-x-api/crud/comprehensive-crud-test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAAyB;AACzB,iCAA8B;AAC9B,uDAS+B;AAC/B,mDAAmE;AACnE,kDAAgG;AAChG,mDAAkD;AAClD,+BAA6C;AAC7C,iFAAyD;AAEzD,gEAA4D;AAC5D,mCAA8C;AAC9C,2EAAuE;AACvE,IAAO,aAAa,GAAG,sBAAS,CAAC,aAAa,CAAA;AAC9C,IAAO,OAAO,GAAG,sBAAS,CAAC,OAAO,CAAA;AAElC,IAAA,UAAO,EAAC,cAAc,CAAC,CAAA;AAEvB,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAA;AAKtB,IAAI,SAAmB,CAAA;AACvB,IAAI,MAAgB,CAAA;AACpB,IAAI,UAAoB,CAAA;AACxB,IAAI,gBAA0B,CAAA;AAC9B,IAAI,OAAgB,CAAA;AACpB,IAAI,mBAAyE,CAAA;AAE7E,IAAI,GAAa,CAAA;AAEjB,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAA,cAAM,EAAC;;YACL,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpB,MAAM,WAAW,GAAG,MAAM,IAAA,sCAAyB,GAAE,CAAA;YACrD,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAA,uBAAe,GAAE,CAAC,CAAA;YAClD,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,yBAAY,CAAC,CAAA;YACzC,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,wBAAW,CAAC,CAAA;YAC5C,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;YAC7D,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,SAAU,CAAC,CAAA;YAC7F,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,4BAAe,EAAC,GAAG,CAAC,CAAA;YAC7D,IAAI,CAAC,IAAA,uBAAU,GAAE;gBAAE,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;YAE7E,MAAM,GAAG,GAAG,IAAI,wBAAY,CAAC,kBAAgB,CAAC,CAAA;YAC9C,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAA,iBAAK,EAAC,IAAA,kBAAM,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,sBAAU,CAAC,IAAI,CAAC;gBAC1G,UAAU,EAAE,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAA,kBAAM,EAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,sBAAU,CAAC,IAAI,CAAC;aAC9G,CAAA;YAED,gBAAgB,GAAG,MAAM,oBAAQ,CAAC,UAAU,CAC1C,GAAG,CAAC,QAAQ,EACZ,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,EAC9D,IAAI,2CAAoB,CAAC,IAAI,CAAC,EAC9B,kBAAgB,EAChB,KAAK,CACN,CAAA;YAED,mBAAmB,GAAG;gBACpB,SAAS,EAAE;oBACT,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;iBAChD;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;oBAClD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC/C;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,gBAAgB,EAAE;oBAChB,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;iBAChD;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,sBAAsB,EAAE;oBACtB,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;oBAClD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC/C;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;iBAChD;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,sBAAsB,EAAE;oBACtB,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,iBAAiB,EAAE;oBACjB,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;iBACnD;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;oBACxD,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;iBAC5C;aACF,CAAA;QACH,CAAC;KAAA,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,uCAAQ,CAAC;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE;QACzB,OAAO,CAAC,IAAA,uBAAU,GAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAA;IAC/C,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;QACpC,EAAE,CAAC,+CAA+C,UAAU,EAAE,EAAE,GAAS,EAAE;YACzE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;YAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACpD,IAAA,aAAM,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAA;QACxC,CAAC,CAAA,CAAC,CAAA;QAEF,IAAA,qBAAQ,EAAC,qDAAqD,UAAU,EAAE,EAAE;;gBAC1E,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU;oBAAE,IAAI,CAAC,IAAI,EAAE,CAAA;gBACxC,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;gBACzD,IAAI,CAAC,GAAG;oBAAE,IAAI,CAAC,IAAI,EAAE,CAAA;gBACrB,MAAM,IAAA,aAAM,EAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAA;YAC9D,CAAC;SAAA,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,UAAU,8BAA8B,EAAE;;gBACrE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,EAAE,CAAA;gBACb,CAAC;gBACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC1D,MAAM,qBAAqB,GAAgB,EAAE,CAAA;gBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBAC5D,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACpC,CAAC;gBACD,MAAM,kBAAkB,GAAgB,EAAE,CAAA;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtE,OAAO,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;oBAC9C,CAAC,CAAC,CAAA;oBACF,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACjC,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAA,uBAAU,GAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;gBACrI,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;gBAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACpB,IAAA,aAAM,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAA;gBAC9E,CAAC,CAAC,CAAA;YACJ,CAAC;SAAA,CAAC,CAAA;QAEF,IAAA,qBAAQ,EAAC,0BAA0B,UAAU,gCAAgC,EAAE;;gBAC7E,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW;oBAAE,IAAI,CAAC,IAAI,EAAE,CAAA;gBACzC,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC1D,MAAM,QAAQ,GAAgB,EAAE,CAAA;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBAC5D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACvB,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;gBACzD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAClD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACpB,IAAA,aAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAA;gBACpE,CAAC,CAAC,CAAA;YACJ,CAAC;SAAA,CAAC,CAAA;QAEF,IAAA,qBAAQ,EAAC,6BAA6B,UAAU,uCAAuC,EAAE;;gBACvF,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU;oBAAE,IAAI,CAAC,IAAI,EAAE,CAAA;gBACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;gBACzD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;gBAC5D,CAAC;gBACD,MAAM,QAAQ,GAAgB,EAAE,CAAA;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;oBAC5D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACvB,CAAC;gBACD,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC7C,CAAC,MAAM,EAAE,EAAE;oBACT,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAA;gBAC5B,CAAC,EACD,GAAG,EAAE;oBACH,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,8CAA8C,CAAC,CAAA;gBAC7E,CAAC,CACF,CAAA;YACH,CAAC;SAAA,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,UAAU,4BAA4B,EAAE;;gBACvE,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;oBACtE,OAAO,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;gBAC9C,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBACnD,IAAA,aAAM,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,CAAC;SAAA,CAAC,CAAA;QAEF,IAAA,qBAAQ,EAAC,iCAAiC,UAAU,mCAAmC,EAAE;;gBACvF,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,EAAE,CAAA;gBACb,CAAC;gBACD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAClE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;gBACzD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;gBAC5D,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC5D,MAAM,IAAA,aAAM,EAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAA;YAC7D,CAAC;SAAA,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,UAAU,sBAAsB,EAAE;;gBACpE,MAAM,GAAG,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;gBAC1D,MAAM,IAAA,aAAM,EAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,qBAAS,CAAC,EAAE,EAAE,EAAE,IAAA,mBAAU,GAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAA;YAC1F,CAAC;SAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA","sourcesContent":["import 'isomorphic-fetch'\nimport { before } from 'mocha'\nimport {\n createNewHcpApi,\n getEnvironmentInitializer,\n hcp1Username,\n isLiteTest,\n itNoLite,\n patUsername,\n setLocalStorage,\n TestUtils,\n} from '../../utils/test_utils'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { hex2ua, IcureApi, RSAUtils, RSAUtilsImpl, ShaVersion, ua2ab } from '../../../icc-x-api'\nimport * as chaiAsPromised from 'chai-as-promised'\nimport { expect, use as chaiUse } from 'chai'\nimport { entities } from './entities-crud-test-interface'\nimport { Patient } from '../../../icc-api/model/Patient'\nimport { IdWithRev } from '../../../icc-api/model/IdWithRev'\nimport { randomUUID, webcrypto } from 'crypto'\nimport { TestCryptoStrategies } from '../../utils/TestCryptoStrategies'\nimport initMasterApi = TestUtils.initMasterApi\nimport initApi = TestUtils.initApi\n\nchaiUse(chaiAsPromised)\n\nsetLocalStorage(fetch)\n\ntype OpType = 'create' | 'delete'\ntype ApisWithRole = { allowed: IcureApi; denied?: IcureApi }\n\nlet masterApi: IcureApi\nlet hcpApi: IcureApi\nlet patientApi: IcureApi\nlet noPermissionsApi: IcureApi\nlet patient: Patient\nlet entitiesPermissions: { [key: string]: { [key in OpType]: ApisWithRole } }\n\nlet env: TestVars\n\ndescribe('CRUD Test', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n masterApi = await initMasterApi(env)\n hcpApi = await initApi(env, hcp1Username)\n patientApi = await initApi(env, patUsername)\n const patientUser = await patientApi.userApi.getCurrentUser()\n patient = await patientApi.patientApi.getPatientWithUser(patientUser, patientUser.patientId!)\n const { api, credentials, user } = await createNewHcpApi(env)\n if (!isLiteTest()) await masterApi.userApi.setRoles(user.id!, ['BASIC_USER'])\n\n const RSA = new RSAUtilsImpl(webcrypto as any)\n const keys = {\n publicKey: await RSA.importKey('spki', ua2ab(hex2ua(credentials.publicKey)), ['encrypt'], ShaVersion.Sha1),\n privateKey: await RSA.importKey('pkcs8', ua2ab(hex2ua(credentials.privateKey)), ['decrypt'], ShaVersion.Sha1),\n }\n\n noPermissionsApi = await IcureApi.initialise(\n env.iCureUrl,\n { username: credentials.user, password: credentials.password },\n new TestCryptoStrategies(keys),\n webcrypto as any,\n fetch\n )\n\n entitiesPermissions = {\n AccessLog: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Agenda: {\n create: { allowed: masterApi },\n delete: { allowed: hcpApi, denied: patientApi },\n },\n Article: {\n create: { allowed: masterApi, denied: patientApi },\n delete: { allowed: masterApi, denied: hcpApi },\n },\n CalendarItem: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n CalendarItemType: {\n create: { allowed: masterApi },\n delete: { allowed: hcpApi, denied: patientApi },\n },\n Classification: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n ClassificationTemplate: {\n create: { allowed: masterApi, denied: patientApi },\n delete: { allowed: masterApi, denied: hcpApi },\n },\n Contact: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Device: {\n create: { allowed: masterApi },\n delete: { allowed: hcpApi, denied: patientApi },\n },\n Document: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Form: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n HealthcarePartyInGroup: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n HealthcareParty: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n HealthcareElement: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Insurance: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n Invoice: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n Keyword: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n MaintenanceTask: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n MedicalLocation: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n Message: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Patient: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Place: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: masterApi, denied: patientApi },\n },\n Receipt: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n TimeTable: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n Topic: {\n create: { allowed: masterApi, denied: noPermissionsApi },\n delete: { allowed: hcpApi, denied: hcpApi },\n },\n }\n })\n\n Object.entries(entities)\n .filter(([, operations]) => {\n return !isLiteTest() || !operations.cloudOnly\n })\n .forEach(([entityType, operations]) => {\n it(`A user with create permissions can create a ${entityType}`, async () => {\n const api = entitiesPermissions[entityType].create.allowed\n const entity = await operations.create(api, patient)\n expect(entity.rev).not.to.be.undefined\n })\n\n itNoLite(`A user without create permissions cannot create a ${entityType}`, async function () {\n if (!!operations.skipDenied) this.skip()\n const api = entitiesPermissions[entityType].create.denied\n if (!api) this.skip()\n await expect(operations.create(api, patient)).to.be.rejected\n })\n\n it(`A user can delete many ${entityType} if they have access to them`, async function () {\n if (!operations.encryptable) {\n this.skip()\n }\n const creationApi = entitiesPermissions[entityType].create.allowed\n const api = entitiesPermissions[entityType].delete.allowed\n const notAccessibleEntities: IdWithRev[] = []\n for (let i = 0; i <= 5; i++) {\n const entity = await operations.create(creationApi, patient)\n notAccessibleEntities.push(entity)\n }\n const accessibleEntities: IdWithRev[] = []\n for (let i = 0; i <= 5; i++) {\n const entity = await operations.create(creationApi, patient).then((e) => {\n return operations.share(creationApi, api, e)\n })\n accessibleEntities.push(entity)\n }\n const result = await operations.deleteMany(api, isLiteTest() ? accessibleEntities : notAccessibleEntities.concat(accessibleEntities))\n expect(result.length).to.be.equal(accessibleEntities.length)\n result.forEach((el) => {\n expect(accessibleEntities.find((it) => it.id === el.id)).not.to.be.undefined\n })\n })\n\n itNoLite(`A user can delete many ${entityType} if they have the correct role`, async function () {\n if (!!operations.encryptable) this.skip()\n const creationApi = entitiesPermissions[entityType].create.allowed\n const api = entitiesPermissions[entityType].delete.allowed\n const entities: IdWithRev[] = []\n for (let i = 0; i <= 5; i++) {\n const entity = await operations.create(creationApi, patient)\n entities.push(entity)\n }\n const result = await operations.deleteMany(api, entities)\n expect(result.length).to.be.equal(entities.length)\n result.forEach((el) => {\n expect(entities.find((it) => it.id === el.id)).not.to.be.undefined\n })\n })\n\n itNoLite(`A user cannot delete many ${entityType} if they do not have the correct role`, async function () {\n if (!!operations.skipDenied) this.skip()\n const creationApi = entitiesPermissions[entityType].create.allowed\n const api = entitiesPermissions[entityType].delete.denied\n if (!api) {\n throw new Error('An API is required to perform this test')\n }\n const entities: IdWithRev[] = []\n for (let i = 0; i <= 5; i++) {\n const entity = await operations.create(creationApi, patient)\n entities.push(entity)\n }\n await operations.deleteMany(api, entities).then(\n (result) => {\n expect(result).to.be.empty\n },\n () => {\n expect(true).to.be.eq(true, 'Response should be empty or promise rejected')\n }\n )\n })\n\n it(`A user can delete a single ${entityType} if they have access to it`, async function () {\n const creationApi = entitiesPermissions[entityType].create.allowed\n const api = entitiesPermissions[entityType].delete.allowed\n const entity = await operations.create(creationApi, patient).then((e) => {\n return operations.share(creationApi, api, e)\n })\n const result = await operations.delete(api, entity)\n expect(result.id).to.be.equal(entity.id)\n })\n\n itNoLite(`A user cannot delete a single ${entityType} if they do not have access to it`, async function () {\n if (!!operations.skipDenied) {\n this.skip()\n }\n const creationApi = entitiesPermissions[entityType].create.allowed\n const api = entitiesPermissions[entityType].delete.denied\n if (!api) {\n throw new Error('An API is required to perform this test')\n }\n const entity = await operations.create(creationApi, patient)\n await expect(operations.delete(api, entity)).to.be.rejected\n })\n\n it(`A user cannot delete a single ${entityType} that does not exist`, async function () {\n const api = entitiesPermissions[entityType].delete.allowed\n await expect(operations.delete(api, new IdWithRev({ id: randomUUID() }))).to.be.rejected\n })\n })\n})\n"]}
@@ -1,16 +0,0 @@
1
- import { IcureApi } from '../../../icc-x-api';
2
- import { Patient } from '../../../icc-api/model/Patient';
3
- import { IdWithRev } from '../../../icc-api/model/IdWithRev';
4
- import { DocIdentifier } from '../../../icc-api/model/DocIdentifier';
5
- export interface CRUDInterface {
6
- encryptable: boolean;
7
- skipDenied?: boolean;
8
- cloudOnly?: boolean;
9
- create(api: IcureApi, patient: Patient): Promise<IdWithRev>;
10
- share(delegatorApi: IcureApi, delegateApi: IcureApi, entity: any): Promise<IdWithRev>;
11
- deleteMany(api: IcureApi, ids: IdWithRev[]): Promise<Array<DocIdentifier>>;
12
- delete(api: IcureApi, id: IdWithRev): Promise<DocIdentifier>;
13
- }
14
- export declare const entities: {
15
- [key: string]: CRUDInterface;
16
- };