@icure/api 8.6.19 → 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.
- package/icc-api/api/IccDocumentApi.d.ts +10 -2
- package/icc-api/api/IccDocumentApi.js +22 -4
- package/icc-api/api/IccDocumentApi.js.map +1 -1
- package/icc-api/api/IccReceiptApi.d.ts +17 -0
- package/icc-api/api/IccReceiptApi.js +52 -0
- package/icc-api/api/IccReceiptApi.js.map +1 -1
- package/icc-api/model/DataAttachment.d.ts +22 -0
- package/icc-api/model/DataAttachment.js.map +1 -1
- package/icc-api/model/Document.d.ts +6 -0
- package/icc-api/model/Document.js.map +1 -1
- package/icc-api/model/Receipt.d.ts +6 -0
- package/icc-api/model/Receipt.js.map +1 -1
- package/icc-x-api/crypto/BaseExchangeDataManager.js +2 -2
- package/icc-x-api/crypto/BaseExchangeDataManager.js.map +1 -1
- package/icc-x-api/crypto/ExchangeDataManager.js +3 -3
- package/icc-x-api/crypto/ExchangeDataManager.js.map +1 -1
- package/icc-x-api/crypto/ExtendedApisUtils.d.ts +1 -1
- package/icc-x-api/crypto/ExtendedApisUtils.js.map +1 -1
- package/icc-x-api/crypto/ExtendedApisUtilsImpl.d.ts +1 -1
- package/icc-x-api/crypto/ExtendedApisUtilsImpl.js +8 -2
- package/icc-x-api/crypto/ExtendedApisUtilsImpl.js.map +1 -1
- package/icc-x-api/crypto/RecoveryDataEncryption.js.map +1 -1
- package/icc-x-api/icc-accesslog-x-api.js +7 -7
- package/icc-x-api/icc-accesslog-x-api.js.map +1 -1
- package/icc-x-api/icc-calendar-item-x-api.js +7 -7
- package/icc-x-api/icc-calendar-item-x-api.js.map +1 -1
- package/icc-x-api/icc-classification-x-api.js +4 -5
- package/icc-x-api/icc-classification-x-api.js.map +1 -1
- package/icc-x-api/icc-code-x-api.d.ts +2 -2
- package/icc-x-api/icc-code-x-api.js +3 -33
- package/icc-x-api/icc-code-x-api.js.map +1 -1
- package/icc-x-api/icc-contact-x-api.js +20 -33
- package/icc-x-api/icc-contact-x-api.js.map +1 -1
- package/icc-x-api/icc-doctemplate-x-api.js.map +1 -1
- package/icc-x-api/icc-document-x-api.d.ts +8 -7
- package/icc-x-api/icc-document-x-api.js +64 -22
- package/icc-x-api/icc-document-x-api.js.map +1 -1
- package/icc-x-api/icc-form-x-api.js +3 -4
- package/icc-x-api/icc-form-x-api.js.map +1 -1
- package/icc-x-api/icc-helement-x-api.js +11 -11
- package/icc-x-api/icc-helement-x-api.js.map +1 -1
- package/icc-x-api/icc-invoice-x-api.js +3 -4
- package/icc-x-api/icc-invoice-x-api.js.map +1 -1
- package/icc-x-api/icc-maintenance-task-x-api.js +3 -3
- package/icc-x-api/icc-maintenance-task-x-api.js.map +1 -1
- package/icc-x-api/icc-patient-x-api.js +29 -29
- package/icc-x-api/icc-patient-x-api.js.map +1 -1
- package/icc-x-api/icc-receipt-x-api.d.ts +40 -0
- package/icc-x-api/icc-receipt-x-api.js +79 -1
- package/icc-x-api/icc-receipt-x-api.js.map +1 -1
- package/icc-x-api/icc-topic-x-api.js.map +1 -1
- package/icc-x-api/utils/code-util.d.ts +23 -0
- package/icc-x-api/utils/code-util.js +39 -2
- package/icc-x-api/utils/code-util.js.map +1 -1
- package/icc-x-api/utils/collection-utils.d.ts +13 -0
- package/icc-x-api/utils/collection-utils.js +69 -0
- package/icc-x-api/utils/collection-utils.js.map +1 -1
- package/icc-x-api/utils/compression-utils.d.ts +28 -0
- package/icc-x-api/utils/compression-utils.js +106 -0
- package/icc-x-api/utils/compression-utils.js.map +1 -0
- package/icc-x-api/utils/crypto-utils.js +7 -7
- package/icc-x-api/utils/crypto-utils.js.map +1 -1
- package/icc-x-api/utils/formatting-util.d.ts +1 -3
- package/icc-x-api/utils/formatting-util.js +15 -17
- package/icc-x-api/utils/formatting-util.js.map +1 -1
- package/icc-x-api/utils/hcp-util.js +2 -3
- package/icc-x-api/utils/hcp-util.js.map +1 -1
- package/icc-x-api/utils/insurability-util.js +10 -8
- package/icc-x-api/utils/insurability-util.js.map +1 -1
- package/icc-x-api/utils/lzma-wasm.d.ts +6 -0
- package/icc-x-api/utils/lzma-wasm.js +81 -0
- package/icc-x-api/utils/lzma-wasm.js.map +1 -0
- package/icc-x-api/utils/mutex.d.ts +12 -0
- package/icc-x-api/utils/mutex.js +26 -0
- package/icc-x-api/utils/mutex.js.map +1 -0
- package/icc-x-api/utils/websocket.js +7 -7
- package/icc-x-api/utils/websocket.js.map +1 -1
- package/icc-x-api/wasm/lzma/lzma.js +2 -0
- package/icc-x-api/wasm/lzma/lzma.wasm +0 -0
- package/package.json +2 -11
- package/icc-x-api/utils/uuid-encoder.d.ts +0 -44
- package/icc-x-api/utils/uuid-encoder.js +0 -114
- package/icc-x-api/utils/uuid-encoder.js.map +0 -1
- package/test/icc-api/api/IccAgendaApi.d.ts +0 -1
- package/test/icc-api/api/IccAgendaApi.js +0 -64
- package/test/icc-api/api/IccAgendaApi.js.map +0 -1
- package/test/icc-api/api/IccAnonymousAccessApi.d.ts +0 -1
- package/test/icc-api/api/IccAnonymousAccessApi.js +0 -58
- package/test/icc-api/api/IccAnonymousAccessApi.js.map +0 -1
- package/test/icc-api/api/IccCalendarItemApi.d.ts +0 -1
- package/test/icc-api/api/IccCalendarItemApi.js +0 -67
- package/test/icc-api/api/IccCalendarItemApi.js.map +0 -1
- package/test/icc-api/api/IccCalendarItemTypeApi.d.ts +0 -1
- package/test/icc-api/api/IccCalendarItemTypeApi.js +0 -96
- package/test/icc-api/api/IccCalendarItemTypeApi.js.map +0 -1
- package/test/icc-api/api/IccCodeApi.d.ts +0 -1
- package/test/icc-api/api/IccCodeApi.js +0 -38
- package/test/icc-api/api/IccCodeApi.js.map +0 -1
- package/test/icc-api/api/IccDocumentApi.d.ts +0 -1
- package/test/icc-api/api/IccDocumentApi.js +0 -199
- package/test/icc-api/api/IccDocumentApi.js.map +0 -1
- package/test/icc-api/api/IccGroupApi.d.ts +0 -1
- package/test/icc-api/api/IccGroupApi.js +0 -50
- package/test/icc-api/api/IccGroupApi.js.map +0 -1
- package/test/icc-api/api/IccKeywordApi.d.ts +0 -1
- package/test/icc-api/api/IccKeywordApi.js +0 -64
- package/test/icc-api/api/IccKeywordApi.js.map +0 -1
- package/test/icc-api/api/IccMedicalLocationApi.d.ts +0 -1
- package/test/icc-api/api/IccMedicalLocationApi.js +0 -64
- package/test/icc-api/api/IccMedicalLocationApi.js.map +0 -1
- package/test/icc-api/api/IccPlaceApi.d.ts +0 -1
- package/test/icc-api/api/IccPlaceApi.js +0 -64
- package/test/icc-api/api/IccPlaceApi.js.map +0 -1
- package/test/icc-api/api/IccRecoveryDataApi.d.ts +0 -1
- package/test/icc-api/api/IccRecoveryDataApi.js +0 -95
- package/test/icc-api/api/IccRecoveryDataApi.js.map +0 -1
- package/test/icc-api/api/IccRoleApi.d.ts +0 -1
- package/test/icc-api/api/IccRoleApi.js +0 -34
- package/test/icc-api/api/IccRoleApi.js.map +0 -1
- package/test/icc-api/api/IccUserApi.d.ts +0 -1
- package/test/icc-api/api/IccUserApi.js +0 -96
- package/test/icc-api/api/IccUserApi.js.map +0 -1
- package/test/icc-api/e2e/IccCalendarItemApi.d.ts +0 -1
- package/test/icc-api/e2e/IccCalendarItemApi.js +0 -46
- package/test/icc-api/e2e/IccCalendarItemApi.js.map +0 -1
- package/test/icc-api/model/modelHelpersTest.d.ts +0 -1
- package/test/icc-api/model/modelHelpersTest.js +0 -45
- package/test/icc-api/model/modelHelpersTest.js.map +0 -1
- package/test/icc-x-api/auth/group-switch-test.d.ts +0 -1
- package/test/icc-x-api/auth/group-switch-test.js +0 -81
- package/test/icc-x-api/auth/group-switch-test.js.map +0 -1
- package/test/icc-x-api/auth/jwt-concurrency-test.d.ts +0 -2
- package/test/icc-x-api/auth/jwt-concurrency-test.js +0 -112
- package/test/icc-x-api/auth/jwt-concurrency-test.js.map +0 -1
- package/test/icc-x-api/auth/jwt-provider-test.d.ts +0 -1
- package/test/icc-x-api/auth/jwt-provider-test.js +0 -197
- package/test/icc-x-api/auth/jwt-provider-test.js.map +0 -1
- package/test/icc-x-api/auth/smart-auth-provider-test.d.ts +0 -1
- package/test/icc-x-api/auth/smart-auth-provider-test.js +0 -224
- package/test/icc-x-api/auth/smart-auth-provider-test.js.map +0 -1
- package/test/icc-x-api/autofix-anonymity-test.d.ts +0 -1
- package/test/icc-x-api/autofix-anonymity-test.js +0 -122
- package/test/icc-x-api/autofix-anonymity-test.js.map +0 -1
- package/test/icc-x-api/confidential-entities-test.d.ts +0 -1
- package/test/icc-x-api/confidential-entities-test.js +0 -168
- package/test/icc-x-api/confidential-entities-test.js.map +0 -1
- package/test/icc-x-api/crud/comprehensive-crud-test.d.ts +0 -1
- package/test/icc-x-api/crud/comprehensive-crud-test.js +0 -276
- package/test/icc-x-api/crud/comprehensive-crud-test.js.map +0 -1
- package/test/icc-x-api/crud/entities-crud-test-interface.d.ts +0 -16
- package/test/icc-x-api/crud/entities-crud-test-interface.js +0 -408
- package/test/icc-x-api/crud/entities-crud-test-interface.js.map +0 -1
- package/test/icc-x-api/crypto/anonymous-delegations-test.d.ts +0 -1
- package/test/icc-x-api/crypto/anonymous-delegations-test.js +0 -587
- package/test/icc-x-api/crypto/anonymous-delegations-test.js.map +0 -1
- package/test/icc-x-api/crypto/concurrency.d.ts +0 -1
- package/test/icc-x-api/crypto/concurrency.js +0 -35
- package/test/icc-x-api/crypto/concurrency.js.map +0 -1
- package/test/icc-x-api/crypto/crypto-utils.d.ts +0 -1
- package/test/icc-x-api/crypto/crypto-utils.js +0 -79
- package/test/icc-x-api/crypto/crypto-utils.js.map +0 -1
- package/test/icc-x-api/crypto/cryptoTest.d.ts +0 -2
- package/test/icc-x-api/crypto/cryptoTest.js +0 -402
- package/test/icc-x-api/crypto/cryptoTest.js.map +0 -1
- package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.d.ts +0 -1
- package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.js +0 -166
- package/test/icc-x-api/crypto/delegate-ci-to-patient-with-missing-keys-test.js.map +0 -1
- package/test/icc-x-api/crypto/exchange-data-manager-test.d.ts +0 -1
- package/test/icc-x-api/crypto/exchange-data-manager-test.js +0 -674
- package/test/icc-x-api/crypto/exchange-data-manager-test.js.map +0 -1
- package/test/icc-x-api/crypto/full-crypto-test.d.ts +0 -1
- package/test/icc-x-api/crypto/full-crypto-test.js +0 -454
- package/test/icc-x-api/crypto/full-crypto-test.js.map +0 -1
- package/test/icc-x-api/crypto/legacy-metadata-migration-test.d.ts +0 -1
- package/test/icc-x-api/crypto/legacy-metadata-migration-test.js +0 -379
- package/test/icc-x-api/crypto/legacy-metadata-migration-test.js.map +0 -1
- package/test/icc-x-api/crypto/secure-delegations-manager-test.d.ts +0 -1
- package/test/icc-x-api/crypto/secure-delegations-manager-test.js +0 -278
- package/test/icc-x-api/crypto/secure-delegations-manager-test.js.map +0 -1
- package/test/icc-x-api/crypto/shamir.d.ts +0 -2
- package/test/icc-x-api/crypto/shamir.js +0 -167
- package/test/icc-x-api/crypto/shamir.js.map +0 -1
- package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.d.ts +0 -1
- package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.js +0 -71
- package/test/icc-x-api/crypto/share-to-newly-created-patient-from-hcp.js.map +0 -1
- package/test/icc-x-api/crypto/soft-deleted-data-owners.d.ts +0 -2
- package/test/icc-x-api/crypto/soft-deleted-data-owners.js +0 -113
- package/test/icc-x-api/crypto/soft-deleted-data-owners.js.map +0 -1
- package/test/icc-x-api/crypto/user-encryption-keys-manager-test.d.ts +0 -1
- package/test/icc-x-api/crypto/user-encryption-keys-manager-test.js +0 -246
- package/test/icc-x-api/crypto/user-encryption-keys-manager-test.js.map +0 -1
- package/test/icc-x-api/entity-with-attachments-api-test.d.ts +0 -1
- package/test/icc-x-api/entity-with-attachments-api-test.js +0 -142
- package/test/icc-x-api/entity-with-attachments-api-test.js.map +0 -1
- package/test/icc-x-api/filters/filters.d.ts +0 -1
- package/test/icc-x-api/filters/filters.js +0 -49
- package/test/icc-x-api/filters/filters.js.map +0 -1
- package/test/icc-x-api/filters/healthelement.d.ts +0 -1
- package/test/icc-x-api/filters/healthelement.js +0 -333
- package/test/icc-x-api/filters/healthelement.js.map +0 -1
- package/test/icc-x-api/icc-accesslog-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-accesslog-x-api.js +0 -106
- package/test/icc-x-api/icc-accesslog-x-api.js.map +0 -1
- package/test/icc-x-api/icc-application-settings-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-application-settings-x-api.js +0 -91
- package/test/icc-x-api/icc-application-settings-x-api.js.map +0 -1
- package/test/icc-x-api/icc-auth-api.d.ts +0 -1
- package/test/icc-x-api/icc-auth-api.js +0 -47
- package/test/icc-x-api/icc-auth-api.js.map +0 -1
- package/test/icc-x-api/icc-calendar-item-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-calendar-item-x-api.js +0 -150
- package/test/icc-x-api/icc-calendar-item-x-api.js.map +0 -1
- package/test/icc-x-api/icc-contact-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-contact-x-api.js +0 -355
- package/test/icc-x-api/icc-contact-x-api.js.map +0 -1
- package/test/icc-x-api/icc-document-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-document-x-api.js +0 -76
- package/test/icc-x-api/icc-document-x-api.js.map +0 -1
- package/test/icc-x-api/icc-form-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-form-x-api.js +0 -413
- package/test/icc-x-api/icc-form-x-api.js.map +0 -1
- package/test/icc-x-api/icc-hcparty-x-api-test.d.ts +0 -1
- package/test/icc-x-api/icc-hcparty-x-api-test.js +0 -43
- package/test/icc-x-api/icc-hcparty-x-api-test.js.map +0 -1
- package/test/icc-x-api/icc-helement-x-api-test.d.ts +0 -1
- package/test/icc-x-api/icc-helement-x-api-test.js +0 -155
- package/test/icc-x-api/icc-helement-x-api-test.js.map +0 -1
- package/test/icc-x-api/icc-invoice-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-invoice-x-api.js +0 -99
- package/test/icc-x-api/icc-invoice-x-api.js.map +0 -1
- package/test/icc-x-api/icc-maintenance-task-x-api-test.d.ts +0 -1
- package/test/icc-x-api/icc-maintenance-task-x-api-test.js +0 -222
- package/test/icc-x-api/icc-maintenance-task-x-api-test.js.map +0 -1
- package/test/icc-x-api/icc-message-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-message-x-api.js +0 -54
- package/test/icc-x-api/icc-message-x-api.js.map +0 -1
- package/test/icc-x-api/icc-patient-x-api-test.d.ts +0 -1
- package/test/icc-x-api/icc-patient-x-api-test.js +0 -165
- package/test/icc-x-api/icc-patient-x-api-test.js.map +0 -1
- package/test/icc-x-api/icc-recovery-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-recovery-x-api.js +0 -175
- package/test/icc-x-api/icc-recovery-x-api.js.map +0 -1
- package/test/icc-x-api/icc-topic-x-api.d.ts +0 -1
- package/test/icc-x-api/icc-topic-x-api.js +0 -269
- package/test/icc-x-api/icc-topic-x-api.js.map +0 -1
- package/test/icc-x-api/icc-user-x-api-test.d.ts +0 -1
- package/test/icc-x-api/icc-user-x-api-test.js +0 -99
- package/test/icc-x-api/icc-user-x-api-test.js.map +0 -1
- package/test/icc-x-api/keyless-api.d.ts +0 -1
- package/test/icc-x-api/keyless-api.js +0 -125
- package/test/icc-x-api/keyless-api.js.map +0 -1
- package/test/icc-x-api/patient-user.d.ts +0 -2
- package/test/icc-x-api/patient-user.js +0 -103
- package/test/icc-x-api/patient-user.js.map +0 -1
- package/test/icc-x-api/storage/storage.d.ts +0 -1
- package/test/icc-x-api/storage/storage.js +0 -48
- package/test/icc-x-api/storage/storage.js.map +0 -1
- package/test/icc-x-api/test-api-no-parent.d.ts +0 -1
- package/test/icc-x-api/test-api-no-parent.js +0 -79
- package/test/icc-x-api/test-api-no-parent.js.map +0 -1
- package/test/icc-x-api/test-legacy-data-support.d.ts +0 -1
- package/test/icc-x-api/test-legacy-data-support.js +0 -375
- package/test/icc-x-api/test-legacy-data-support.js.map +0 -1
- package/test/icc-x-api/utils/graph-test.d.ts +0 -1
- package/test/icc-x-api/utils/graph-test.js +0 -54
- package/test/icc-x-api/utils/graph-test.js.map +0 -1
- package/test/icc-x-api/utils/lru-temporised-async-cache-test.d.ts +0 -1
- package/test/icc-x-api/utils/lru-temporised-async-cache-test.js +0 -364
- package/test/icc-x-api/utils/lru-temporised-async-cache-test.js.map +0 -1
- package/test/support/CSM-185.d.ts +0 -1
- package/test/support/CSM-185.js +0 -124
- package/test/support/CSM-185.js.map +0 -1
- package/test/support/CSM-243.d.ts +0 -1
- package/test/support/CSM-243.js +0 -120
- package/test/support/CSM-243.js.map +0 -1
- package/test/support/CSM-543.d.ts +0 -1
- package/test/support/CSM-543.js +0 -164
- package/test/support/CSM-543.js.map +0 -1
- package/test/support/CSM-729.d.ts +0 -1
- package/test/support/CSM-729.js +0 -225
- package/test/support/CSM-729.js.map +0 -1
- package/test/support/CSM-87.d.ts +0 -0
- package/test/support/CSM-87.js +0 -21
- package/test/support/CSM-87.js.map +0 -1
- package/test/support/CSM-93.d.ts +0 -1
- package/test/support/CSM-93.js +0 -112
- package/test/support/CSM-93.js.map +0 -1
- package/test/utils/FakeDataOwnerApi.d.ts +0 -32
- package/test/utils/FakeDataOwnerApi.js +0 -136
- package/test/utils/FakeDataOwnerApi.js.map +0 -1
- package/test/utils/FakeEncryptionKeysManager.d.ts +0 -36
- package/test/utils/FakeEncryptionKeysManager.js +0 -98
- package/test/utils/FakeEncryptionKeysManager.js.map +0 -1
- package/test/utils/FakeExchangeDataApi.d.ts +0 -32
- package/test/utils/FakeExchangeDataApi.js +0 -92
- package/test/utils/FakeExchangeDataApi.js.map +0 -1
- package/test/utils/FakeExchangeDataManager.d.ts +0 -48
- package/test/utils/FakeExchangeDataManager.js +0 -82
- package/test/utils/FakeExchangeDataManager.js.map +0 -1
- package/test/utils/FakeExchangeDataMapManager.d.ts +0 -12
- package/test/utils/FakeExchangeDataMapManager.js +0 -38
- package/test/utils/FakeExchangeDataMapManager.js.map +0 -1
- package/test/utils/FakeGenericApi.d.ts +0 -16
- package/test/utils/FakeGenericApi.js +0 -65
- package/test/utils/FakeGenericApi.js.map +0 -1
- package/test/utils/KeylessCryptoStrategies.d.ts +0 -23
- package/test/utils/KeylessCryptoStrategies.js +0 -26
- package/test/utils/KeylessCryptoStrategies.js.map +0 -1
- package/test/utils/TestApi.d.ts +0 -3
- package/test/utils/TestApi.js +0 -30
- package/test/utils/TestApi.js.map +0 -1
- package/test/utils/TestCollectionUtils.d.ts +0 -1
- package/test/utils/TestCollectionUtils.js +0 -109
- package/test/utils/TestCollectionUtils.js.map +0 -1
- package/test/utils/TestCryptoStrategies.d.ts +0 -42
- package/test/utils/TestCryptoStrategies.js +0 -80
- package/test/utils/TestCryptoStrategies.js.map +0 -1
- package/test/utils/TestStorage.d.ts +0 -23
- package/test/utils/TestStorage.js +0 -61
- package/test/utils/TestStorage.js.map +0 -1
- package/test/utils/roles.d.ts +0 -14
- package/test/utils/roles.js +0 -345
- package/test/utils/roles.js.map +0 -1
- package/test/utils/test_utils.d.ts +0 -87
- package/test/utils/test_utils.js +0 -452
- package/test/utils/test_utils.js.map +0 -1
package/test/utils/roles.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../test/utils/roles.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,gBAAgB,EAAE,CAAC,kCAAkC,CAAC;IACtD,gBAAgB,EAAE;QAChB,gCAAgC;QAChC,+BAA+B;QAC/B,4BAA4B;QAC5B,0BAA0B;QAC1B,yBAAyB;QACzB,+BAA+B;QAC/B,8BAA8B;QAC9B,iCAAiC;QACjC,gCAAgC;QAChC,yCAAyC;QACzC,qBAAqB;QACrB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,2BAA2B;QAC3B,0BAA0B;QAC1B,uBAAuB;QACvB,sBAAsB;QACtB,+BAA+B;QAC/B,6BAA6B;QAC7B,+BAA+B;QAC/B,+BAA+B;QAC/B,8BAA8B;QAC9B,0BAA0B;QAC1B,yBAAyB;QACzB,kCAAkC;QAClC,iCAAiC;QACjC,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;QAC5B,2BAA2B;QAC3B,yBAAyB;QACzB,gCAAgC;KACjC;IACD,uBAAuB,EAAE;QACvB,sCAAsC;QACtC,+DAA+D;QAC/D,iEAAiE;QACjE,gEAAgE;QAChE,wDAAwD;QACxD,qEAAqE;QACrE,yDAAyD;QACzD,qDAAqD;QACrD,mDAAmD;QACnD,wDAAwD;QACxD,0DAA0D;QAC1D,uCAAuC;QACvC,mDAAmD;QACnD,mDAAmD;QACnD,oDAAoD;QACpD,gDAAgD;QAChD,mDAAmD;QACnD,2DAA2D;QAC3D,mDAAmD;QACnD,mDAAmD;QACnD,mDAAmD;QACnD,qDAAqD;QACrD,iDAAiD;QACjD,2DAA2D;QAC3D,uDAAuD;QACvD,qDAAqD;QACrD,0DAA0D;QAC1D,4DAA4D;QAC5D,yCAAyC;QACzC,qDAAqD;QACrD,qDAAqD;QACrD,sDAAsD;QACtD,kDAAkD;QAClD,qDAAqD;QACrD,6DAA6D;QAC7D,qDAAqD;QACrD,qDAAqD;QACrD,qDAAqD;QACrD,uDAAuD;QACvD,mDAAmD;QACnD,0DAA0D;QAC1D,sDAAsD;QACtD,oDAAoD;QACpD,yDAAyD;QACzD,2DAA2D;QAC3D,yCAAyC;QACzC,oDAAoD;QACpD,oDAAoD;QACpD,qDAAqD;QACrD,iDAAiD;QACjD,oDAAoD;QACpD,4DAA4D;QAC5D,oDAAoD;QACpD,oDAAoD;QACpD,oDAAoD;QACpD,sDAAsD;QACtD,kDAAkD;QAClD,kEAAkE;QAClE,iDAAiD;QACjD,+CAA+C;QAC/C,iDAAiD;QACjD,mCAAmC;KACpC;IACD,oBAAoB,EAAE;QACpB,+BAA+B;QAC/B,6BAA6B;QAC7B,uCAAuC;QACvC,8CAA8C;QAC9C,qCAAqC;QACrC,sCAAsC;QACtC,gDAAgD;QAChD,qCAAqC;QACrC,wCAAwC;QACxC,+BAA+B;QAC/B,uBAAuB;QACvB,+CAA+C;QAC/C,6CAA6C;QAC7C,+CAA+C;KAChD;IACD,gBAAgB,EAAE;QAChB,uCAAuC;QACvC,qCAAqC;QACrC,+CAA+C;QAC/C,sDAAsD;QACtD,6CAA6C;QAC7C,8CAA8C;QAC9C,wDAAwD;QACxD,6CAA6C;QAC7C,gDAAgD;QAChD,uCAAuC;QACvC,uBAAuB;QACvB,sCAAsC;QACtC,oCAAoC;QACpC,sCAAsC;QACtC,sCAAsC;QACtC,mEAAmE;QACnE,yDAAyD;QACzD,8DAA8D;QAC9D,uDAAuD;QACvD,qDAAqD;QACrD,uDAAuD;KACxD;IACD,mBAAmB,EAAE;QACnB,8BAA8B;QAC9B,4BAA4B;QAC5B,sCAAsC;QACtC,6CAA6C;QAC7C,oCAAoC;QACpC,qCAAqC;QACrC,+CAA+C;QAC/C,oCAAoC;QACpC,uCAAuC;QACvC,8BAA8B;QAC9B,uBAAuB;QACvB,8CAA8C;QAC9C,4CAA4C;QAC5C,8CAA8C;QAC9C,2BAA2B;QAC3B,yBAAyB;QACzB,4BAA4B;QAC5B,6BAA6B;QAC7B,yBAAyB;KAC1B;IACD,UAAU,EAAE;QACV,yBAAyB;QACzB,mCAAmC;QACnC,0CAA0C;QAC1C,kCAAkC;QAClC,iCAAiC;QACjC,oCAAoC;QACpC,oDAAoD;QACpD,2BAA2B;QAC3B,gCAAgC;KACjC;IACD,kBAAkB,EAAE,CAAC,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,CAAC,wDAAwD,EAAE,yBAAyB,CAAC;IACxG,aAAa,EAAE,CAAC,wBAAwB,CAAC;IACzC,sBAAsB,EAAE,CAAC,0BAA0B,EAAE,yBAAyB,CAAC;IAC/E,UAAU,EAAE;QACV,sCAAsC;QACtC,+DAA+D;QAC/D,iEAAiE;QACjE,gEAAgE;QAChE,wDAAwD;QACxD,4CAA4C;QAC5C,yBAAyB;QACzB,qDAAqD;QACrD,qDAAqD;QACrD,qDAAqD;QACrD,8DAA8D;QAC9D,yDAAyD;QACzD,8DAA8D;QAC9D,2DAA2D;QAC3D,iEAAiE;QACjE,sEAAsE;QACtE,mEAAmE;QACnE,sDAAsD;QACtD,uCAAuC;QACvC,+BAA+B;QAC/B,8BAA8B;QAC9B,yBAAyB;QACzB,2BAA2B;QAC3B,qCAAqC;QACrC,6BAA6B;QAC7B,4BAA4B;QAC5B,2BAA2B;QAC3B,uBAAuB;QACvB,iCAAiC;QACjC,0CAA0C;QAC1C,kCAAkC;QAClC,6CAA6C;QAC7C,sDAAsD;QACtD,8CAA8C;QAC9C,+CAA+C;QAC/C,qCAAqC;QACrC,8CAA8C;QAC9C,sCAAsC;QACtC,uCAAuC;QACvC,gDAAgD;QAChD,qCAAqC;QACrC,oCAAoC;QACpC,6CAA6C;QAC7C,qCAAqC;QACrC,sCAAsC;QACtC,+CAA+C;QAC/C,oCAAoC;QACpC,mCAAmC;QACnC,4CAA4C;QAC5C,oCAAoC;QACpC,qCAAqC;QACrC,8CAA8C;QAC9C,mCAAmC;QACnC,2BAA2B;QAC3B,6BAA6B;QAC7B,uCAAuC;QACvC,+BAA+B;QAC/B,8BAA8B;QAC9B,6BAA6B;QAC7B,gCAAgC;QAChC,0CAA0C;QAC1C,4CAA4C;QAC5C,2CAA2C;QAC3C,iEAAiE;QACjE,4BAA4B;QAC5B,sCAAsC;QACtC,wCAAwC;QACxC,uCAAuC;QACvC,6DAA6D;QAC7D,iDAAiD;QACjD,0BAA0B;QAC1B,oCAAoC;QACpC,sCAAsC;QACtC,qCAAqC;QACrC,2DAA2D;QAC3D,+BAA+B;QAC/B,yCAAyC;QACzC,2CAA2C;QAC3C,0CAA0C;QAC1C,gEAAgE;QAChE,iCAAiC;QACjC,2CAA2C;QAC3C,6CAA6C;QAC7C,4CAA4C;QAC5C,kEAAkE;QAClE,yCAAyC;QACzC,uCAAuC;QACvC,yCAAyC;QACzC,yCAAyC;QACzC,0EAA0E;QAC1E,0BAA0B;QAC1B,oCAAoC;QACpC,sCAAsC;QACtC,qCAAqC;QACrC,2DAA2D;QAC3D,oCAAoC;QACpC,2BAA2B;QAC3B,qCAAqC;QACrC,uCAAuC;QACvC,sCAAsC;QACtC,4DAA4D;QAC5D,uBAAuB;QACvB,iCAAiC;QACjC,mCAAmC;QACnC,kCAAkC;QAClC,wDAAwD;QACxD,0BAA0B;QAC1B,oCAAoC;QACpC,sCAAsC;QACtC,qCAAqC;QACrC,2DAA2D;QAC3D,wDAAwD;QACxD,mEAAmE;QACnE,kCAAkC;QAClC,4CAA4C;QAC5C,8CAA8C;QAC9C,6CAA6C;QAC7C,mEAAmE;QACnE,0BAA0B;QAC1B,oCAAoC;QACpC,sCAAsC;QACtC,qCAAqC;QACrC,2DAA2D;QAC3D,0BAA0B;QAC1B,oCAAoC;QACpC,sCAAsC;QACtC,qCAAqC;QACrC,2DAA2D;QAC3D,0BAA0B;QAC1B,oCAAoC;QACpC,sCAAsC;QACtC,qCAAqC;QACrC,2DAA2D;QAC3D,4BAA4B;QAC5B,sCAAsC;QACtC,wCAAwC;QACxC,uCAAuC;QACvC,6DAA6D;QAC7D,wBAAwB;QACxB,kCAAkC;QAClC,oCAAoC;QACpC,mCAAmC;QACnC,yDAAyD;QACzD,kCAAkC;QAClC,8BAA8B;QAC9B,wCAAwC;QACxC,2BAA2B;QAC3B,sCAAsC;QACtC,yCAAyC;QACzC,oCAAoC;QACpC,sCAAsC;QACtC,sCAAsC;QACtC,sCAAsC;QACtC,mEAAmE;QACnE,yDAAyD;QACzD,8DAA8D;QAC9D,mCAAmC;QACnC,8BAA8B;QAC9B,gCAAgC;KACjC;CACF,CAAA","sourcesContent":["export const defaultRoles = {\n ANY_ACTING_SCOPE: ['DataOwner.ActingScope.OfChildren'],\n BASIC_DATA_OWNER: [\n 'HealthElementManagement.Create',\n 'HealthElementManagement.Purge',\n 'AccessLogManagement.Create',\n 'ArticleManagement.Create',\n 'ArticleManagement.Purge',\n 'CalendarItemManagement.Create',\n 'CalendarItemManagement.Purge',\n 'ClassificationManagement.Create',\n 'ClassificationManagement.Purge',\n 'ClassificationTemplateManagement.Create',\n 'CodeManagement.Read',\n 'ContactManagement.Create',\n 'ContactManagement.Purge',\n 'ServiceManagement.Create',\n 'ServiceManagement.Purge',\n 'DocumentManagement.Create',\n 'DocumentManagement.Purge',\n 'FormManagement.Create',\n 'FormManagement.Purge',\n 'FormTemplateManagement.Create',\n 'FormTemplateManagement.Read',\n 'FormTemplateManagement.Update',\n 'FormTemplateManagement.Delete',\n 'FormTemplateManagement.Purge',\n 'InvoiceManagement.Create',\n 'InvoiceManagement.Purge',\n 'MaintenanceTaskManagement.Create',\n 'MaintenanceTaskManagement.Purge',\n 'PatientManagement.Create',\n 'PatientManagement.Purge',\n 'ReceiptManagement.Create',\n 'ReceiptManagement.Purge',\n 'TimeTableManagement.Create',\n 'TimeTableManagement.Purge',\n 'AgendaManagement.Create',\n 'GroupManagement.Read.BasicInfo',\n ],\n HIERARCHICAL_DATA_OWNER: [\n 'ApplicationSettingsManagement.Create',\n 'ApplicationSettingsManagement.ExtendedRead.DelegatedToParents',\n 'ApplicationSettingsManagement.ExtendedUpdate.DelegatedToParents',\n 'ApplicationSettingsManagement.ExtendedPurge.DelegatedToParents',\n 'ExtendedEncryptionMetadataEntitiesManagement.ForParent',\n 'CryptoActorManagement.ExtendedExchangeKeysSearch.DelegatedToParents',\n 'HealthElementManagement.ExtendedRead.DelegatedToParents',\n 'AccessLogManagement.ExtendedRead.DelegatedToParents',\n 'ArticleManagement.ExtendedRead.DelegatedToParents',\n 'CalendarItemManagement.ExtendedRead.DelegatedToParents',\n 'ClassificationManagement.ExtendedRead.DelegatedToParents',\n 'ClassificationTemplateManagement.Read',\n 'ContactManagement.ExtendedRead.DelegatedToParents',\n 'ServiceManagement.ExtendedRead.DelegatedToParents',\n 'DocumentManagement.ExtendedRead.DelegatedToParents',\n 'FormManagement.ExtendedRead.DelegatedToParents',\n 'InvoiceManagement.ExtendedRead.DelegatedToParents',\n 'MaintenanceTaskManagement.ExtendedRead.DelegatedToParents',\n 'MessageManagement.ExtendedRead.DelegatedToParents',\n 'PatientManagement.ExtendedRead.DelegatedToParents',\n 'ReceiptManagement.ExtendedRead.DelegatedToParents',\n 'TimeTableManagement.ExtendedRead.DelegatedToParents',\n 'TopicManagement.ExtendedRead.DelegatedToParents',\n 'HealthElementManagement.ExtendedUpdate.DelegatedToParents',\n 'AccessLogManagement.ExtendedUpdate.DelegatedToParents',\n 'ArticleManagement.ExtendedUpdate.DelegatedToParents',\n 'CalendarItemManagement.ExtendedUpdate.DelegatedToParents',\n 'ClassificationManagement.ExtendedUpdate.DelegatedToParents',\n 'ClassificationTemplateManagement.Update',\n 'ContactManagement.ExtendedUpdate.DelegatedToParents',\n 'ServiceManagement.ExtendedUpdate.DelegatedToParents',\n 'DocumentManagement.ExtendedUpdate.DelegatedToParents',\n 'FormManagement.ExtendedUpdate.DelegatedToParents',\n 'InvoiceManagement.ExtendedUpdate.DelegatedToParents',\n 'MaintenanceTaskManagement.ExtendedUpdate.DelegatedToParents',\n 'MessageManagement.ExtendedUpdate.DelegatedToParents',\n 'PatientManagement.ExtendedUpdate.DelegatedToParents',\n 'ReceiptManagement.ExtendedUpdate.DelegatedToParents',\n 'TimeTableManagement.ExtendedUpdate.DelegatedToParents',\n 'TopicManagement.ExtendedUpdate.DelegatedToParents',\n 'HealthElementManagement.ExtendedPurge.DelegatedToParents',\n 'AccessLogManagement.ExtendedPurge.DelegatedToParents',\n 'ArticleManagement.ExtendedPurge.DelegatedToParents',\n 'CalendarItemManagement.ExtendedPurge.DelegatedToParents',\n 'ClassificationManagement.ExtendedPurge.DelegatedToParents',\n 'ClassificationTemplateManagement.Delete',\n 'ContactManagement.ExtendedPurge.DelegatedToParents',\n 'ServiceManagement.ExtendedPurge.DelegatedToParents',\n 'DocumentManagement.ExtendedPurge.DelegatedToParents',\n 'FormManagement.ExtendedPurge.DelegatedToParents',\n 'InvoiceManagement.ExtendedPurge.DelegatedToParents',\n 'MaintenanceTaskManagement.ExtendedPurge.DelegatedToParents',\n 'MessageManagement.ExtendedPurge.DelegatedToParents',\n 'PatientManagement.ExtendedPurge.DelegatedToParents',\n 'ReceiptManagement.ExtendedPurge.DelegatedToParents',\n 'TimeTableManagement.ExtendedPurge.DelegatedToParents',\n 'TopicManagement.ExtendedPurge.DelegatedToParents',\n 'SecureDelegationKeyMapManagement.ExtendedRead.DelegatedToParents',\n 'RecoveryDataManagement.ExtendedCreate.ForParent',\n 'RecoveryDataManagement.ExtendedRead.ForParent',\n 'RecoveryDataManagement.ExtendedDelete.ForParent',\n 'GroupManagement.Read.AdvancedInfo',\n ],\n PATIENT_USER_MANAGER: [\n 'UserManagement.Create.Patient',\n 'UserManagement.Read.Patient',\n 'UserManagement.Update.Patient.Secrets',\n 'UserManagement.Update.Patient.ContactDetails',\n 'UserManagement.Update.Patient.Roles',\n 'UserManagement.Update.Patient.Status',\n 'UserManagement.Update.Patient.DataOwnerDetails',\n 'UserManagement.Update.Patient.Basic',\n 'UserManagement.Update.Patient.Metadata',\n 'UserManagement.Delete.Patient',\n 'UserManagement.Search',\n 'RecoveryDataManagement.ExtendedCreate.Patient',\n 'RecoveryDataManagement.ExtendedRead.Patient',\n 'RecoveryDataManagement.ExtendedDelete.Patient',\n ],\n HCP_USER_MANAGER: [\n 'UserManagement.Create.HealthcareParty',\n 'UserManagement.Read.HealthcareParty',\n 'UserManagement.Update.HealthcareParty.Secrets',\n 'UserManagement.Update.HealthcareParty.ContactDetails',\n 'UserManagement.Update.HealthcareParty.Roles',\n 'UserManagement.Update.HealthcareParty.Status',\n 'UserManagement.Update.HealthcareParty.DataOwnerDetails',\n 'UserManagement.Update.HealthcareParty.Basic',\n 'UserManagement.Update.HealthcareParty.Metadata',\n 'UserManagement.Delete.HealthcareParty',\n 'UserManagement.Search',\n 'HealthcarePartyManagement.Create.Any',\n 'HealthcarePartyManagement.FullRead',\n 'HealthcarePartyManagement.Delete.Any',\n 'HealthcarePartyManagement.Update.Any',\n 'HealthcarePartyManagement.ProtectedContentUpdate.CreationMetadata',\n 'HealthcarePartyManagement.ProtectedContentUpdate.Parent',\n 'HealthcarePartyManagement.ProtectedContentUpdate.BankDetails',\n 'RecoveryDataManagement.ExtendedCreate.HealthcareParty',\n 'RecoveryDataManagement.ExtendedRead.HealthcareParty',\n 'RecoveryDataManagement.ExtendedDelete.HealthcareParty',\n ],\n DEVICE_USER_MANAGER: [\n 'UserManagement.Create.Device',\n 'UserManagement.Read.Device',\n 'UserManagement.Update.Device.Secrets',\n 'UserManagement.Update.Device.ContactDetails',\n 'UserManagement.Update.Device.Roles',\n 'UserManagement.Update.Device.Status',\n 'UserManagement.Update.Device.DataOwnerDetails',\n 'UserManagement.Update.Device.Basic',\n 'UserManagement.Update.Device.Metadata',\n 'UserManagement.Delete.Device',\n 'UserManagement.Search',\n 'RecoveryDataManagement.ExtendedCreate.Device',\n 'RecoveryDataManagement.ExtendedRead.Device',\n 'RecoveryDataManagement.ExtendedDelete.Device',\n 'DeviceManagement.Read.Any',\n 'DeviceManagement.Create',\n 'DeviceManagement.Purge.Any',\n 'DeviceManagement.Update.Any',\n 'DeviceManagement.Search',\n ],\n BASIC_USER: [\n 'UserManagement.Read.Own',\n 'UserManagement.Update.Own.Secrets',\n 'UserManagement.Update.Own.ContactDetails',\n 'UserManagement.Update.Own.Status',\n 'UserManagement.Update.Own.Basic',\n 'UserManagement.Update.Own.Metadata',\n 'UserManagement.Update.Own.VerifiedLoginIdentifiers',\n 'UserManagement.Delete.Own',\n 'GroupManagement.Read.BasicInfo',\n ],\n BASIC_USER_MANAGER: ['UserManagement.Create.Other'],\n TOPIC_PARTICIPANT: ['MessageManagement.ConditionalCreate.AsTopicParticipant', 'MessageManagement.Purge'],\n TOPIC_MANAGER: ['TopicManagement.Create'],\n LEGACY_MESSAGE_MANAGER: ['MessageManagement.Create', 'MessageManagement.Purge'],\n LEGACY_HCP: [\n 'ApplicationSettingsManagement.Create',\n 'ApplicationSettingsManagement.ExtendedRead.DelegatedToParents',\n 'ApplicationSettingsManagement.ExtendedUpdate.DelegatedToParents',\n 'ApplicationSettingsManagement.ExtendedPurge.DelegatedToParents',\n 'ExtendedEncryptionMetadataEntitiesManagement.ForParent',\n 'UserManagement.Update.Own.LoginIdentifiers',\n 'AgendaManagement.Create',\n 'MessageManagement.ProtectedContentUpdate.ReadStatus',\n 'MessageManagement.ReadStatusUpdate.UnrestrictedUser',\n 'MessageManagement.ReadStatusUpdate.UnrestrictedTime',\n 'MessageManagement.ReadStatusUpdate.UnrestrictedEntryOverride',\n 'CryptoActorManagement.ExtendedUpdate.Patient.PublicKeys',\n 'CryptoActorManagement.ExtendedUpdate.Patient.AnyExchangeKeys',\n 'CryptoActorManagement.ExtendedUpdate.Patient.RecoveryData',\n 'CryptoActorManagement.ExtendedUpdate.HealthcareParty.PublicKeys',\n 'CryptoActorManagement.ExtendedUpdate.HealthcareParty.AnyExchangeKeys',\n 'CryptoActorManagement.ExtendedUpdate.HealthcareParty.RecoveryData',\n 'CryptoActorManagement.ExtendedExchangeKeysSearch.Any',\n 'UserManagement.Create.HealthcareParty',\n 'UserManagement.Create.Patient',\n 'UserManagement.Create.Device',\n 'UserManagement.Read.Own',\n 'UserManagement.Read.Admin',\n 'UserManagement.Read.HealthcareParty',\n 'UserManagement.Read.Patient',\n 'UserManagement.Read.Device',\n 'UserManagement.Read.Other',\n 'UserManagement.Search',\n 'UserManagement.Update.Own.Basic',\n 'UserManagement.Update.Own.ContactDetails',\n 'UserManagement.Update.Own.Status',\n 'UserManagement.Update.HealthcareParty.Basic',\n 'UserManagement.Update.HealthcareParty.ContactDetails',\n 'UserManagement.Update.HealthcareParty.Status',\n 'UserManagement.Update.HealthcareParty.Secrets',\n 'UserManagement.Update.Patient.Basic',\n 'UserManagement.Update.Patient.ContactDetails',\n 'UserManagement.Update.Patient.Status',\n 'UserManagement.Update.Patient.Secrets',\n 'UserManagement.Update.Patient.DataOwnerDetails',\n 'UserManagement.Update.Patient.Roles',\n 'UserManagement.Update.Device.Basic',\n 'UserManagement.Update.Device.ContactDetails',\n 'UserManagement.Update.Device.Status',\n 'UserManagement.Update.Device.Secrets',\n 'UserManagement.Update.Device.DataOwnerDetails',\n 'UserManagement.Update.Device.Roles',\n 'UserManagement.Update.Other.Basic',\n 'UserManagement.Update.Other.ContactDetails',\n 'UserManagement.Update.Other.Status',\n 'UserManagement.Update.Other.Secrets',\n 'UserManagement.Update.Other.DataOwnerDetails',\n 'UserManagement.Update.Other.Roles',\n 'UserManagement.Delete.Own',\n 'UserManagement.Delete.Admin',\n 'UserManagement.Delete.HealthcareParty',\n 'UserManagement.Delete.Patient',\n 'UserManagement.Delete.Device',\n 'UserManagement.Delete.Other',\n 'HealthElementManagement.Create',\n 'HealthElementManagement.ExtendedRead.Any',\n 'HealthElementManagement.ExtendedUpdate.Any',\n 'HealthElementManagement.ExtendedPurge.Any',\n 'HealthElementManagement.ProtectedContentUpdate.CreationMetadata',\n 'AccessLogManagement.Create',\n 'AccessLogManagement.ExtendedRead.Any',\n 'AccessLogManagement.ExtendedUpdate.Any',\n 'AccessLogManagement.ExtendedPurge.Any',\n 'AccessLogManagement.ProtectedContentUpdate.CreationMetadata',\n 'AccessLogManagement.AggregatePatientsByUser.Any',\n 'ArticleManagement.Create',\n 'ArticleManagement.ExtendedRead.Any',\n 'ArticleManagement.ExtendedUpdate.Any',\n 'ArticleManagement.ExtendedPurge.Any',\n 'ArticleManagement.ProtectedContentUpdate.CreationMetadata',\n 'CalendarItemManagement.Create',\n 'CalendarItemManagement.ExtendedRead.Any',\n 'CalendarItemManagement.ExtendedUpdate.Any',\n 'CalendarItemManagement.ExtendedPurge.Any',\n 'CalendarItemManagement.ProtectedContentUpdate.CreationMetadata',\n 'ClassificationManagement.Create',\n 'ClassificationManagement.ExtendedRead.Any',\n 'ClassificationManagement.ExtendedUpdate.Any',\n 'ClassificationManagement.ExtendedPurge.Any',\n 'ClassificationManagement.ProtectedContentUpdate.CreationMetadata',\n 'ClassificationTemplateManagement.Create',\n 'ClassificationTemplateManagement.Read',\n 'ClassificationTemplateManagement.Update',\n 'ClassificationTemplateManagement.Delete',\n 'ClassificationTemplateManagement.ProtectedContentUpdate.CreationMetadata',\n 'ContactManagement.Create',\n 'ContactManagement.ExtendedRead.Any',\n 'ContactManagement.ExtendedUpdate.Any',\n 'ContactManagement.ExtendedPurge.Any',\n 'ContactManagement.ProtectedContentUpdate.CreationMetadata',\n 'ServiceManagement.ExtendedRead.Any',\n 'DocumentManagement.Create',\n 'DocumentManagement.ExtendedRead.Any',\n 'DocumentManagement.ExtendedUpdate.Any',\n 'DocumentManagement.ExtendedPurge.Any',\n 'DocumentManagement.ProtectedContentUpdate.CreationMetadata',\n 'FormManagement.Create',\n 'FormManagement.ExtendedRead.Any',\n 'FormManagement.ExtendedUpdate.Any',\n 'FormManagement.ExtendedPurge.Any',\n 'FormManagement.ProtectedContentUpdate.CreationMetadata',\n 'InvoiceManagement.Create',\n 'InvoiceManagement.ExtendedRead.Any',\n 'InvoiceManagement.ExtendedUpdate.Any',\n 'InvoiceManagement.ExtendedPurge.Any',\n 'InvoiceManagement.ProtectedContentUpdate.CreationMetadata',\n 'InvoiceManagement.Maintenance.InvoicingCodesUpdate.Any',\n 'InvoiceManagement.Maintenance.CanGetInvoicesForUsersAndInsurances',\n 'MaintenanceTaskManagement.Create',\n 'MaintenanceTaskManagement.ExtendedRead.Any',\n 'MaintenanceTaskManagement.ExtendedUpdate.Any',\n 'MaintenanceTaskManagement.ExtendedPurge.Any',\n 'MaintenanceTaskManagement.ProtectedContentUpdate.CreationMetadata',\n 'MessageManagement.Create',\n 'MessageManagement.ExtendedRead.Any',\n 'MessageManagement.ExtendedUpdate.Any',\n 'MessageManagement.ExtendedPurge.Any',\n 'MessageManagement.ProtectedContentUpdate.CreationMetadata',\n 'PatientManagement.Create',\n 'PatientManagement.ExtendedRead.Any',\n 'PatientManagement.ExtendedUpdate.Any',\n 'PatientManagement.ExtendedPurge.Any',\n 'PatientManagement.ProtectedContentUpdate.CreationMetadata',\n 'ReceiptManagement.Create',\n 'ReceiptManagement.ExtendedRead.Any',\n 'ReceiptManagement.ExtendedUpdate.Any',\n 'ReceiptManagement.ExtendedPurge.Any',\n 'ReceiptManagement.ProtectedContentUpdate.CreationMetadata',\n 'TimeTableManagement.Create',\n 'TimeTableManagement.ExtendedRead.Any',\n 'TimeTableManagement.ExtendedUpdate.Any',\n 'TimeTableManagement.ExtendedPurge.Any',\n 'TimeTableManagement.ProtectedContentUpdate.CreationMetadata',\n 'TopicManagement.Create',\n 'TopicManagement.ExtendedRead.Any',\n 'TopicManagement.ExtendedUpdate.Any',\n 'TopicManagement.ExtendedPurge.Any',\n 'TopicManagement.ProtectedContentUpdate.CreationMetadata',\n 'SystemMaintenance.TmpServiceUser',\n 'SystemMaintenance.ViewUpdate',\n 'SystemMaintenance.AutoResolveConflicts',\n 'SystemMaintenance.Metrics',\n 'SystemMaintenance.IndexingInfoReader',\n 'SystemMaintenance.ReplicationInfoReader',\n 'HealthcarePartyManagement.FullRead',\n 'HealthcarePartyManagement.Create.Any',\n 'HealthcarePartyManagement.Delete.Any',\n 'HealthcarePartyManagement.Update.Any',\n 'HealthcarePartyManagement.ProtectedContentUpdate.CreationMetadata',\n 'HealthcarePartyManagement.ProtectedContentUpdate.Parent',\n 'HealthcarePartyManagement.ProtectedContentUpdate.BankDetails',\n 'GroupManagement.Read.AdvancedInfo',\n 'ObjectStorageManagement.Read',\n 'ObjectStorageManagement.Create',\n ],\n}\n"]}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { EncryptedFieldsConfig, IcureApi, IcureApiOptions } from '../../icc-x-api';
|
|
2
|
-
import { IcureApi as TestSetupApi } from '@icure/apiV7';
|
|
3
|
-
import { User } from '../../icc-api/model/User';
|
|
4
|
-
import { TestVars, UserDetails } from '@icure/test-setup/types';
|
|
5
|
-
import { EnvInitializer } from '@icure/test-setup/decorators';
|
|
6
|
-
import 'isomorphic-fetch';
|
|
7
|
-
import { Context, Suite, Test } from 'mocha';
|
|
8
|
-
import { Group } from '../../icc-api/model/Group';
|
|
9
|
-
export declare function getTempEmail(): string;
|
|
10
|
-
export declare function setLocalStorage(fetch: (input: RequestInfo, init?: RequestInit) => Promise<Response>): void;
|
|
11
|
-
export declare const hcp1Username: string;
|
|
12
|
-
export declare const hcp2Username: string;
|
|
13
|
-
export declare const hcp3Username: string;
|
|
14
|
-
export declare const patUsername: string;
|
|
15
|
-
export declare const deviceUsername: string;
|
|
16
|
-
export declare function getEnvironmentInitializer(): Promise<EnvInitializer>;
|
|
17
|
-
export declare namespace TestUtils {
|
|
18
|
-
function initApi(envVars: TestVars, userName?: string, options?: IcureApiOptions): Promise<IcureApi>;
|
|
19
|
-
function initMasterApi(envVars: TestVars, options?: IcureApiOptions): Promise<IcureApi>;
|
|
20
|
-
}
|
|
21
|
-
export declare function getApiAndAddPrivateKeysForUser(iCureUrl: string, details: UserDetails, options?: IcureApiOptions): Promise<IcureApi>;
|
|
22
|
-
export declare function createNewHcpApi(env: TestVars, options?: {
|
|
23
|
-
encryptedFieldsConfig?: EncryptedFieldsConfig;
|
|
24
|
-
}): Promise<{
|
|
25
|
-
api: IcureApi;
|
|
26
|
-
credentials: UserDetails;
|
|
27
|
-
user: User;
|
|
28
|
-
}>;
|
|
29
|
-
export declare function createNewPatientApi(env: TestVars): Promise<{
|
|
30
|
-
api: IcureApi;
|
|
31
|
-
credentials: UserDetails;
|
|
32
|
-
user: User;
|
|
33
|
-
}>;
|
|
34
|
-
export declare function createNewKeylessApi(env: TestVars): Promise<{
|
|
35
|
-
api: IcureApi;
|
|
36
|
-
credentials: {
|
|
37
|
-
username: string;
|
|
38
|
-
password: string;
|
|
39
|
-
};
|
|
40
|
-
}>;
|
|
41
|
-
/**
|
|
42
|
-
* Creates a hierarchy of HCPs with the following structure:
|
|
43
|
-
* grand HCP -+-> parent HCP ---> child HCP
|
|
44
|
-
* |
|
|
45
|
-
* +-> child2 HCP
|
|
46
|
-
*/
|
|
47
|
-
export declare function createHcpHierarchyApis(env: TestVars, setupAutodelegations?: boolean, disableParentKeysInitialisation?: boolean): Promise<{
|
|
48
|
-
grandApi: IcureApi;
|
|
49
|
-
grandUser: User;
|
|
50
|
-
grandCredentials: UserDetails;
|
|
51
|
-
parentApi: IcureApi;
|
|
52
|
-
parentUser: User;
|
|
53
|
-
parentCredentials: UserDetails;
|
|
54
|
-
childApi: IcureApi;
|
|
55
|
-
childUser: User;
|
|
56
|
-
childCredentials: UserDetails;
|
|
57
|
-
child2Api: IcureApi;
|
|
58
|
-
child2User: User;
|
|
59
|
-
child2Credentials: UserDetails;
|
|
60
|
-
}>;
|
|
61
|
-
/**
|
|
62
|
-
* Create a parent HCP with a key and a child HCP without any initialised key
|
|
63
|
-
*/
|
|
64
|
-
export declare function createNewHcpWithoutKeyAndParentWithKey(env: TestVars, props?: {
|
|
65
|
-
initialiseEmptyKeyForChild?: boolean;
|
|
66
|
-
}): Promise<{
|
|
67
|
-
parentCredentials: UserDetails;
|
|
68
|
-
childUser: string;
|
|
69
|
-
childDataOwnerId: string;
|
|
70
|
-
childPassword: string;
|
|
71
|
-
}>;
|
|
72
|
-
export declare function testSetupMasterApi(env: TestVars): Promise<TestSetupApi>;
|
|
73
|
-
export type UserInManyGroupsDetails = {
|
|
74
|
-
user1: User;
|
|
75
|
-
user2: User;
|
|
76
|
-
group3: Group;
|
|
77
|
-
userPw3: string;
|
|
78
|
-
user3: User;
|
|
79
|
-
group2: Group;
|
|
80
|
-
group1: Group;
|
|
81
|
-
userPw12: string;
|
|
82
|
-
userLogin: string;
|
|
83
|
-
};
|
|
84
|
-
export declare function createUserInMultipleGroups(env: TestVars): Promise<UserInManyGroupsDetails>;
|
|
85
|
-
export declare function isLiteTest(): boolean;
|
|
86
|
-
export declare function describeNoLite(title: string, fn: (this: Suite) => void): Suite | void;
|
|
87
|
-
export declare function itNoLite(title: string, fn: (this: Context) => PromiseLike<any>): Test;
|
package/test/utils/test_utils.js
DELETED
|
@@ -1,452 +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
|
-
var _a, _b, _c, _d;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.TestUtils = exports.deviceUsername = exports.patUsername = exports.hcp3Username = exports.hcp2Username = exports.hcp1Username = void 0;
|
|
14
|
-
exports.getTempEmail = getTempEmail;
|
|
15
|
-
exports.setLocalStorage = setLocalStorage;
|
|
16
|
-
exports.getEnvironmentInitializer = getEnvironmentInitializer;
|
|
17
|
-
exports.getApiAndAddPrivateKeysForUser = getApiAndAddPrivateKeysForUser;
|
|
18
|
-
exports.createNewHcpApi = createNewHcpApi;
|
|
19
|
-
exports.createNewPatientApi = createNewPatientApi;
|
|
20
|
-
exports.createNewKeylessApi = createNewKeylessApi;
|
|
21
|
-
exports.createHcpHierarchyApis = createHcpHierarchyApis;
|
|
22
|
-
exports.createNewHcpWithoutKeyAndParentWithKey = createNewHcpWithoutKeyAndParentWithKey;
|
|
23
|
-
exports.testSetupMasterApi = testSetupMasterApi;
|
|
24
|
-
exports.createUserInMultipleGroups = createUserInMultipleGroups;
|
|
25
|
-
exports.isLiteTest = isLiteTest;
|
|
26
|
-
exports.describeNoLite = describeNoLite;
|
|
27
|
-
exports.itNoLite = itNoLite;
|
|
28
|
-
const icc_x_api_1 = require("../../icc-x-api");
|
|
29
|
-
const os_1 = require("os");
|
|
30
|
-
const util_1 = require("util");
|
|
31
|
-
const uuid_1 = require("uuid");
|
|
32
|
-
const crypto_1 = require("crypto");
|
|
33
|
-
const TestApi_1 = require("./TestApi");
|
|
34
|
-
const apiV7_1 = require("@icure/apiV7");
|
|
35
|
-
const TestStorage_1 = require("./TestStorage");
|
|
36
|
-
const TestCryptoStrategies_1 = require("./TestCryptoStrategies");
|
|
37
|
-
const User_1 = require("../../icc-api/model/User");
|
|
38
|
-
const builder_1 = require("@icure/test-setup/builder");
|
|
39
|
-
const types_1 = require("@icure/test-setup/types");
|
|
40
|
-
require("isomorphic-fetch");
|
|
41
|
-
const creation_1 = require("@icure/test-setup/creation");
|
|
42
|
-
const icc_api_1 = require("../../icc-api");
|
|
43
|
-
const mocha_1 = require("mocha");
|
|
44
|
-
const Patient_1 = require("../../icc-api/model/Patient");
|
|
45
|
-
const KeylessCryptoStrategies_1 = require("./KeylessCryptoStrategies");
|
|
46
|
-
const roles_1 = require("./roles");
|
|
47
|
-
function getTempEmail() {
|
|
48
|
-
return `${(0, uuid_1.v4)().substring(0, 8)}@icure.com`;
|
|
49
|
-
}
|
|
50
|
-
function setLocalStorage(fetch) {
|
|
51
|
-
;
|
|
52
|
-
global.localStorage = new (require('node-localstorage').LocalStorage)((0, os_1.tmpdir)(), 5 * Math.pow(1024, 3));
|
|
53
|
-
global.fetch = fetch;
|
|
54
|
-
global.Storage = '';
|
|
55
|
-
global.TextDecoder = util_1.TextDecoder;
|
|
56
|
-
global.TextEncoder = util_1.TextEncoder;
|
|
57
|
-
global.headers = Headers;
|
|
58
|
-
}
|
|
59
|
-
exports.hcp1Username = (_a = process.env.ICURE_TS_TEST_HCP_USER) !== null && _a !== void 0 ? _a : getTempEmail();
|
|
60
|
-
exports.hcp2Username = (_b = process.env.ICURE_TS_TEST_HCP_2_USER) !== null && _b !== void 0 ? _b : getTempEmail();
|
|
61
|
-
exports.hcp3Username = (_c = process.env.ICURE_TS_TEST_HCP_3_USER) !== null && _c !== void 0 ? _c : getTempEmail();
|
|
62
|
-
exports.patUsername = (_d = process.env.ICURE_TS_TEST_PAT_USER) !== null && _d !== void 0 ? _d : getTempEmail();
|
|
63
|
-
exports.deviceUsername = getTempEmail();
|
|
64
|
-
let cachedInitializer;
|
|
65
|
-
function getEnvironmentInitializer() {
|
|
66
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
if (!cachedInitializer) {
|
|
68
|
-
const env = (0, types_1.getEnvVariables)();
|
|
69
|
-
const scratchDir = 'test/scratch';
|
|
70
|
-
const baseEnvironment = env.testEnvironment === 'docker' || env.testEnvironment === 'oss'
|
|
71
|
-
? new builder_1.TestEnvironmentBuilder().setUpDockerEnvironment(scratchDir, ['mock'])
|
|
72
|
-
: new builder_1.TestEnvironmentBuilder();
|
|
73
|
-
cachedInitializer = yield baseEnvironment
|
|
74
|
-
.withGroup(fetch, {
|
|
75
|
-
patient: ['BASIC_USER', 'BASIC_DATA_OWNER'],
|
|
76
|
-
hcp: [
|
|
77
|
-
'BASIC_USER',
|
|
78
|
-
'BASIC_DATA_OWNER',
|
|
79
|
-
'PATIENT_USER_MANAGER',
|
|
80
|
-
'HIERARCHICAL_DATA_OWNER',
|
|
81
|
-
'TOPIC_MANAGER',
|
|
82
|
-
'TOPIC_PARTICIPANT',
|
|
83
|
-
'LEGACY_MESSAGE_MANAGER',
|
|
84
|
-
],
|
|
85
|
-
device: ['BASIC_USER', 'BASIC_DATA_OWNER'],
|
|
86
|
-
user: ['BASIC_USER'],
|
|
87
|
-
})
|
|
88
|
-
.withMasterUser(fetch)
|
|
89
|
-
.withRoles(roles_1.defaultRoles)
|
|
90
|
-
.addHcp({ login: exports.hcp1Username })
|
|
91
|
-
.addHcp({ login: exports.hcp2Username })
|
|
92
|
-
.addHcp({ login: exports.hcp3Username })
|
|
93
|
-
.addPatient({ login: exports.patUsername })
|
|
94
|
-
.addDevice({ login: exports.deviceUsername })
|
|
95
|
-
.withSafeguard()
|
|
96
|
-
.withEnvironmentSummary()
|
|
97
|
-
.build();
|
|
98
|
-
}
|
|
99
|
-
return cachedInitializer;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
var TestUtils;
|
|
103
|
-
(function (TestUtils) {
|
|
104
|
-
function initApi(envVars_1) {
|
|
105
|
-
return __awaiter(this, arguments, void 0, function* (envVars, userName = exports.hcp1Username, options) {
|
|
106
|
-
return yield getApiAndAddPrivateKeysForUser(envVars.iCureUrl, envVars.dataOwnerDetails[userName], options);
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
TestUtils.initApi = initApi;
|
|
110
|
-
function initMasterApi(envVars, options) {
|
|
111
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
return yield getApiAndAddPrivateKeysForUser(envVars.iCureUrl, envVars.masterHcp, options);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
TestUtils.initMasterApi = initMasterApi;
|
|
116
|
-
})(TestUtils || (exports.TestUtils = TestUtils = {}));
|
|
117
|
-
function getApiAndAddPrivateKeysForUser(iCureUrl, details, options) {
|
|
118
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
const RSA = new icc_x_api_1.RSAUtilsImpl(crypto_1.webcrypto);
|
|
120
|
-
const keys = {
|
|
121
|
-
publicKey: yield RSA.importKey('spki', (0, icc_x_api_1.ua2ab)((0, icc_x_api_1.hex2ua)(details.publicKey)), ['encrypt'], icc_x_api_1.ShaVersion.Sha1),
|
|
122
|
-
privateKey: yield RSA.importKey('pkcs8', (0, icc_x_api_1.ua2ab)((0, icc_x_api_1.hex2ua)(details.privateKey)), ['decrypt'], icc_x_api_1.ShaVersion.Sha1),
|
|
123
|
-
};
|
|
124
|
-
return yield (0, TestApi_1.TestApi)(iCureUrl, details.user, details.password, crypto_1.webcrypto, keys, options);
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
function createHealthcarePartyUser(api, userLogin, userToken, publicKey, privateKey) {
|
|
128
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
-
const { publicKey: newPublicKey, privateKey: newPrivateKey } = yield api.cryptoApi.RSA.generateKeyPair();
|
|
130
|
-
const publicKeyHex = !!publicKey && !!privateKey ? publicKey : (0, icc_x_api_1.ua2hex)(yield api.cryptoApi.RSA.exportKey(newPublicKey, 'spki'));
|
|
131
|
-
const privateKeyHex = !!publicKey && !!privateKey ? privateKey : (0, icc_x_api_1.ua2hex)(yield api.cryptoApi.RSA.exportKey(newPrivateKey, 'pkcs8'));
|
|
132
|
-
const hcp = yield api.healthcarePartyApi.createHealthcareParty({
|
|
133
|
-
id: (0, uuid_1.v4)(),
|
|
134
|
-
firstName: (0, uuid_1.v4)().substring(0, 6),
|
|
135
|
-
lastName: (0, uuid_1.v4)().substring(0, 6),
|
|
136
|
-
publicKey: publicKeyHex,
|
|
137
|
-
});
|
|
138
|
-
const hcpUser = yield api.userApi.createUser(new User_1.User({
|
|
139
|
-
id: (0, uuid_1.v4)(),
|
|
140
|
-
name: userLogin,
|
|
141
|
-
login: userLogin,
|
|
142
|
-
email: userLogin,
|
|
143
|
-
healthcarePartyId: hcp.id,
|
|
144
|
-
}));
|
|
145
|
-
const token = yield api.userApi.getToken(hcpUser.id, (0, uuid_1.v4)(), 24 * 60 * 60, userToken);
|
|
146
|
-
return {
|
|
147
|
-
user: hcpUser.login,
|
|
148
|
-
dataOwnerId: hcp.id,
|
|
149
|
-
password: token,
|
|
150
|
-
publicKey: publicKeyHex,
|
|
151
|
-
privateKey: privateKeyHex,
|
|
152
|
-
};
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
function createNewHcpApi(env_1) {
|
|
156
|
-
return __awaiter(this, arguments, void 0, function* (env, options = {}) {
|
|
157
|
-
const initialisationApi = yield testSetupMasterApi(env);
|
|
158
|
-
const primitives = new icc_x_api_1.WebCryptoPrimitives(crypto_1.webcrypto);
|
|
159
|
-
const credentials = yield createHealthcarePartyUser(initialisationApi, `user-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
160
|
-
const storage = yield (0, TestStorage_1.testStorageWithKeys)([
|
|
161
|
-
{
|
|
162
|
-
dataOwnerId: credentials.dataOwnerId,
|
|
163
|
-
pairs: [{ keyPair: { privateKey: credentials.privateKey, publicKey: credentials.publicKey }, shaVersion: icc_x_api_1.ShaVersion.Sha1 }],
|
|
164
|
-
},
|
|
165
|
-
]);
|
|
166
|
-
const api = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: credentials.user, password: credentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(), crypto_1.webcrypto, fetch, {
|
|
167
|
-
storage: storage.storage,
|
|
168
|
-
keyStorage: storage.keyStorage,
|
|
169
|
-
entryKeysFactory: storage.keyFactory,
|
|
170
|
-
encryptedFieldsConfig: options.encryptedFieldsConfig,
|
|
171
|
-
});
|
|
172
|
-
return { api, credentials, user: yield api.userApi.getCurrentUser() };
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
function createNewPatientApi(env) {
|
|
176
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
const initialisationApi = yield testSetupMasterApi(env);
|
|
178
|
-
const primitives = new icc_x_api_1.WebCryptoPrimitives(crypto_1.webcrypto);
|
|
179
|
-
const credentials = yield (0, creation_1.createPatientUser)(initialisationApi, `user-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
180
|
-
const storage = yield (0, TestStorage_1.testStorageWithKeys)([
|
|
181
|
-
{
|
|
182
|
-
dataOwnerId: credentials.dataOwnerId,
|
|
183
|
-
pairs: [{ keyPair: { privateKey: credentials.privateKey, publicKey: credentials.publicKey }, shaVersion: icc_x_api_1.ShaVersion.Sha1 }],
|
|
184
|
-
},
|
|
185
|
-
]);
|
|
186
|
-
const api = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: credentials.user, password: credentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(), crypto_1.webcrypto, fetch, {
|
|
187
|
-
storage: storage.storage,
|
|
188
|
-
keyStorage: storage.keyStorage,
|
|
189
|
-
entryKeysFactory: storage.keyFactory,
|
|
190
|
-
});
|
|
191
|
-
return { api, credentials, user: yield api.userApi.getCurrentUser() };
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
function createNewKeylessApi(env) {
|
|
195
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
-
const initialisationApi = yield icc_x_api_1.IcureBasicApi.initialise(env.iCureUrl, { username: env.masterHcp.user, password: env.masterHcp.password }, fetch);
|
|
197
|
-
const login = `${(0, crypto_1.randomUUID)()}@test.icure.com`;
|
|
198
|
-
const password = (0, crypto_1.randomUUID)();
|
|
199
|
-
const patient = new Patient_1.Patient({
|
|
200
|
-
id: (0, crypto_1.randomUUID)(),
|
|
201
|
-
firstName: 'Gino',
|
|
202
|
-
lastName: 'Pino',
|
|
203
|
-
});
|
|
204
|
-
const user = new User_1.User({
|
|
205
|
-
id: (0, crypto_1.randomUUID)(),
|
|
206
|
-
login,
|
|
207
|
-
passwordHash: password,
|
|
208
|
-
patientId: patient.id,
|
|
209
|
-
});
|
|
210
|
-
yield initialisationApi.userApi.createUser(user);
|
|
211
|
-
yield initialisationApi.patientApi.createPatient(patient);
|
|
212
|
-
const credentials = { username: login, password };
|
|
213
|
-
const cryptoStrategies = new KeylessCryptoStrategies_1.KeylessCryptoStrategies();
|
|
214
|
-
const api = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, credentials, cryptoStrategies, crypto_1.webcrypto, fetch, {});
|
|
215
|
-
if (!cryptoStrategies.requestedKey)
|
|
216
|
-
throw new Error('Illegal state: did not request key');
|
|
217
|
-
return { api, credentials };
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Creates a hierarchy of HCPs with the following structure:
|
|
222
|
-
* grand HCP -+-> parent HCP ---> child HCP
|
|
223
|
-
* |
|
|
224
|
-
* +-> child2 HCP
|
|
225
|
-
*/
|
|
226
|
-
function createHcpHierarchyApis(env_1) {
|
|
227
|
-
return __awaiter(this, arguments, void 0, function* (env, setupAutodelegations = true, disableParentKeysInitialisation = false) {
|
|
228
|
-
const shaVersion = icc_x_api_1.ShaVersion.Sha1;
|
|
229
|
-
const initialisationApi = yield testSetupMasterApi(env);
|
|
230
|
-
const primitives = new icc_x_api_1.WebCryptoPrimitives(crypto_1.webcrypto);
|
|
231
|
-
const grandCredentials = yield createHealthcarePartyUser(initialisationApi, `grand-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
232
|
-
const parentCredentials = yield createHealthcarePartyUser(initialisationApi, `parent-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
233
|
-
const childCredentials = yield createHealthcarePartyUser(initialisationApi, `child-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
234
|
-
const child2Credentials = yield createHealthcarePartyUser(initialisationApi, `child2-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
235
|
-
yield initialisationApi.healthcarePartyApi.modifyHealthcareParty(Object.assign(Object.assign({}, (yield initialisationApi.healthcarePartyApi.getHealthcareParty(parentCredentials.dataOwnerId))), { parentId: grandCredentials.dataOwnerId }));
|
|
236
|
-
yield initialisationApi.healthcarePartyApi.modifyHealthcareParty(Object.assign(Object.assign({}, (yield initialisationApi.healthcarePartyApi.getHealthcareParty(childCredentials.dataOwnerId))), { parentId: parentCredentials.dataOwnerId }));
|
|
237
|
-
yield initialisationApi.healthcarePartyApi.modifyHealthcareParty(Object.assign(Object.assign({}, (yield initialisationApi.healthcarePartyApi.getHealthcareParty(child2Credentials.dataOwnerId))), { parentId: grandCredentials.dataOwnerId }));
|
|
238
|
-
const grandStorage = yield (0, TestStorage_1.testStorageWithKeys)([
|
|
239
|
-
{
|
|
240
|
-
dataOwnerId: grandCredentials.dataOwnerId,
|
|
241
|
-
pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],
|
|
242
|
-
},
|
|
243
|
-
]);
|
|
244
|
-
const grandApi = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: grandCredentials.user, password: grandCredentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(), crypto_1.webcrypto, fetch, {
|
|
245
|
-
storage: grandStorage.storage,
|
|
246
|
-
keyStorage: grandStorage.keyStorage,
|
|
247
|
-
entryKeysFactory: grandStorage.keyFactory,
|
|
248
|
-
disableParentKeysInitialisation,
|
|
249
|
-
});
|
|
250
|
-
const parentStorage = yield (0, TestStorage_1.testStorageWithKeys)([
|
|
251
|
-
{
|
|
252
|
-
dataOwnerId: grandCredentials.dataOwnerId,
|
|
253
|
-
pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
dataOwnerId: parentCredentials.dataOwnerId,
|
|
257
|
-
pairs: [{ keyPair: { privateKey: parentCredentials.privateKey, publicKey: parentCredentials.publicKey }, shaVersion: shaVersion }],
|
|
258
|
-
},
|
|
259
|
-
]);
|
|
260
|
-
const parentApi = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: parentCredentials.user, password: parentCredentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(), crypto_1.webcrypto, fetch, {
|
|
261
|
-
storage: parentStorage.storage,
|
|
262
|
-
keyStorage: parentStorage.keyStorage,
|
|
263
|
-
entryKeysFactory: parentStorage.keyFactory,
|
|
264
|
-
disableParentKeysInitialisation,
|
|
265
|
-
});
|
|
266
|
-
const parentUser = setupAutodelegations
|
|
267
|
-
? yield parentApi.userApi.modifyUser(Object.assign(Object.assign({}, (yield parentApi.userApi.getCurrentUser())), { autoDelegations: { all: [grandCredentials.dataOwnerId] } }))
|
|
268
|
-
: yield parentApi.userApi.getCurrentUser();
|
|
269
|
-
const childStorage = yield (0, TestStorage_1.testStorageWithKeys)([
|
|
270
|
-
{
|
|
271
|
-
dataOwnerId: grandCredentials.dataOwnerId,
|
|
272
|
-
pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
dataOwnerId: parentCredentials.dataOwnerId,
|
|
276
|
-
pairs: [{ keyPair: { privateKey: parentCredentials.privateKey, publicKey: parentCredentials.publicKey }, shaVersion: shaVersion }],
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
dataOwnerId: childCredentials.dataOwnerId,
|
|
280
|
-
pairs: [{ keyPair: { privateKey: childCredentials.privateKey, publicKey: childCredentials.publicKey }, shaVersion: shaVersion }],
|
|
281
|
-
},
|
|
282
|
-
]);
|
|
283
|
-
const childApi = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: childCredentials.user, password: childCredentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(), crypto_1.webcrypto, fetch, {
|
|
284
|
-
storage: childStorage.storage,
|
|
285
|
-
keyStorage: childStorage.keyStorage,
|
|
286
|
-
entryKeysFactory: childStorage.keyFactory,
|
|
287
|
-
disableParentKeysInitialisation,
|
|
288
|
-
});
|
|
289
|
-
const childUser = setupAutodelegations
|
|
290
|
-
? yield childApi.userApi.modifyUser(Object.assign(Object.assign({}, (yield childApi.userApi.getCurrentUser())), { autoDelegations: { all: [grandCredentials.dataOwnerId, parentCredentials.dataOwnerId] } }))
|
|
291
|
-
: yield childApi.userApi.getCurrentUser();
|
|
292
|
-
const child2Storage = yield (0, TestStorage_1.testStorageWithKeys)([
|
|
293
|
-
{
|
|
294
|
-
dataOwnerId: grandCredentials.dataOwnerId,
|
|
295
|
-
pairs: [{ keyPair: { privateKey: grandCredentials.privateKey, publicKey: grandCredentials.publicKey }, shaVersion: shaVersion }],
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
dataOwnerId: child2Credentials.dataOwnerId,
|
|
299
|
-
pairs: [{ keyPair: { privateKey: child2Credentials.privateKey, publicKey: child2Credentials.publicKey }, shaVersion: shaVersion }],
|
|
300
|
-
},
|
|
301
|
-
]);
|
|
302
|
-
const child2Api = yield icc_x_api_1.IcureApi.initialise(env.iCureUrl, { username: child2Credentials.user, password: child2Credentials.password }, new TestCryptoStrategies_1.TestCryptoStrategies(), crypto_1.webcrypto, fetch, {
|
|
303
|
-
storage: child2Storage.storage,
|
|
304
|
-
keyStorage: child2Storage.keyStorage,
|
|
305
|
-
entryKeysFactory: child2Storage.keyFactory,
|
|
306
|
-
disableParentKeysInitialisation,
|
|
307
|
-
});
|
|
308
|
-
const child2User = setupAutodelegations
|
|
309
|
-
? yield child2Api.userApi.modifyUser(Object.assign(Object.assign({}, (yield child2Api.userApi.getCurrentUser())), { autoDelegations: { all: [grandCredentials.dataOwnerId] } }))
|
|
310
|
-
: yield child2Api.userApi.getCurrentUser();
|
|
311
|
-
return {
|
|
312
|
-
grandApi,
|
|
313
|
-
grandUser: yield grandApi.userApi.getCurrentUser(),
|
|
314
|
-
grandCredentials,
|
|
315
|
-
parentApi,
|
|
316
|
-
parentUser,
|
|
317
|
-
parentCredentials,
|
|
318
|
-
childApi,
|
|
319
|
-
childUser,
|
|
320
|
-
childCredentials,
|
|
321
|
-
child2Api,
|
|
322
|
-
child2User,
|
|
323
|
-
child2Credentials,
|
|
324
|
-
};
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* Create a parent HCP with a key and a child HCP without any initialised key
|
|
329
|
-
*/
|
|
330
|
-
function createNewHcpWithoutKeyAndParentWithKey(env_1) {
|
|
331
|
-
return __awaiter(this, arguments, void 0, function* (env, props = {}) {
|
|
332
|
-
const initialisationApi = yield testSetupMasterApi(env);
|
|
333
|
-
const primitives = new icc_x_api_1.WebCryptoPrimitives(crypto_1.webcrypto);
|
|
334
|
-
const parentCredentials = yield createHealthcarePartyUser(initialisationApi, `parent-${primitives.randomUuid()}@icure.com`, primitives.randomUuid());
|
|
335
|
-
const childUser = (0, uuid_1.v4)() + '@email.com';
|
|
336
|
-
const childPassword = (0, uuid_1.v4)();
|
|
337
|
-
const childHcp = {
|
|
338
|
-
id: (0, uuid_1.v4)(),
|
|
339
|
-
firstName: (0, uuid_1.v4)().substring(0, 6),
|
|
340
|
-
lastName: (0, uuid_1.v4)().substring(0, 6),
|
|
341
|
-
parentId: parentCredentials.dataOwnerId,
|
|
342
|
-
publicKey: undefined,
|
|
343
|
-
};
|
|
344
|
-
if (props.initialiseEmptyKeyForChild) {
|
|
345
|
-
childHcp.publicKey = '';
|
|
346
|
-
}
|
|
347
|
-
yield initialisationApi.healthcarePartyApi.createHealthcareParty(childHcp);
|
|
348
|
-
yield initialisationApi.userApi.createUser(new User_1.User({
|
|
349
|
-
id: (0, uuid_1.v4)(),
|
|
350
|
-
name: childUser,
|
|
351
|
-
login: childUser,
|
|
352
|
-
email: childUser,
|
|
353
|
-
passwordHash: childPassword,
|
|
354
|
-
healthcarePartyId: childHcp.id,
|
|
355
|
-
}));
|
|
356
|
-
return {
|
|
357
|
-
parentCredentials,
|
|
358
|
-
childUser,
|
|
359
|
-
childPassword,
|
|
360
|
-
childDataOwnerId: childHcp.id,
|
|
361
|
-
};
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
function testSetupMasterApi(env) {
|
|
365
|
-
return apiV7_1.IcureApi.initialise(env.iCureUrl, { username: env.masterHcp.user, password: env.masterHcp.password }, {
|
|
366
|
-
generateNewKeyForDataOwner() {
|
|
367
|
-
return Promise.resolve(true);
|
|
368
|
-
},
|
|
369
|
-
recoverAndVerifySelfHierarchyKeys() {
|
|
370
|
-
throw new Error('Unsupported');
|
|
371
|
-
},
|
|
372
|
-
verifyDelegatePublicKeys(delegate, publicKeys) {
|
|
373
|
-
return Promise.resolve(publicKeys);
|
|
374
|
-
},
|
|
375
|
-
}, crypto_1.webcrypto, fetch);
|
|
376
|
-
}
|
|
377
|
-
function createUserInMultipleGroups(env) {
|
|
378
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
379
|
-
const primitives = new icc_x_api_1.WebCryptoPrimitives(crypto_1.webcrypto);
|
|
380
|
-
const userGroup1Id = primitives.randomUuid(); // Same username-pw as group 2
|
|
381
|
-
const userGroup2Id = primitives.randomUuid(); // Same username-pw as group 1
|
|
382
|
-
const userGroup3Id = primitives.randomUuid(); // Same username as group 1/2, different pw
|
|
383
|
-
const userLogin = `maria-${primitives.randomUuid()}@pompei.it`;
|
|
384
|
-
const userPw12 = `geppetto-${primitives.randomUuid()}`;
|
|
385
|
-
const userPw3 = `pinocchio-${primitives.randomUuid()}`;
|
|
386
|
-
const user1Id = primitives.randomUuid();
|
|
387
|
-
const user2Id = primitives.randomUuid();
|
|
388
|
-
const user3Id = primitives.randomUuid();
|
|
389
|
-
const api = yield icc_x_api_1.IcureBasicApi.initialise(env.iCureUrl, { username: 'john', password: 'LetMeIn' }, fetch); // pragma: allowlist secret
|
|
390
|
-
const group1 = yield api.groupApi.createGroup(userGroup1Id, `test-group-1-${primitives.randomUuid()}`, primitives.randomUuid(), undefined, undefined, undefined, undefined, undefined, {});
|
|
391
|
-
const group2 = yield api.groupApi.createGroup(userGroup2Id, `test-group-2-${primitives.randomUuid()}`, primitives.randomUuid(), undefined, undefined, undefined, undefined, undefined, {});
|
|
392
|
-
const group3 = yield api.groupApi.createGroup(userGroup3Id, `test-group-3-${primitives.randomUuid()}`, primitives.randomUuid(), undefined, undefined, undefined, undefined, undefined, {});
|
|
393
|
-
const user1 = yield api.userApi.createUserInGroup(userGroup1Id, {
|
|
394
|
-
id: user1Id,
|
|
395
|
-
name: userLogin,
|
|
396
|
-
login: userLogin,
|
|
397
|
-
email: userLogin,
|
|
398
|
-
passwordHash: userPw12,
|
|
399
|
-
});
|
|
400
|
-
const user2 = yield api.userApi.createUserInGroup(userGroup2Id, {
|
|
401
|
-
id: user2Id,
|
|
402
|
-
name: userLogin,
|
|
403
|
-
login: userLogin,
|
|
404
|
-
email: userLogin,
|
|
405
|
-
passwordHash: userPw12,
|
|
406
|
-
});
|
|
407
|
-
const user3 = yield api.userApi.createUserInGroup(userGroup3Id, {
|
|
408
|
-
id: user3Id,
|
|
409
|
-
name: userLogin,
|
|
410
|
-
login: userLogin,
|
|
411
|
-
email: userLogin,
|
|
412
|
-
passwordHash: userPw3,
|
|
413
|
-
});
|
|
414
|
-
console.log(`Waiting for user to be created - ${userLogin}`);
|
|
415
|
-
yield (0, icc_x_api_1.retry)(() => __awaiter(this, void 0, void 0, function* () {
|
|
416
|
-
yield new icc_api_1.IccUserApi(env.iCureUrl, {}, new icc_x_api_1.BasicAuthenticationProvider(`${userGroup1Id}/${user1Id}`, userPw12), fetch).getCurrentUser();
|
|
417
|
-
yield new icc_api_1.IccUserApi(env.iCureUrl, {}, new icc_x_api_1.BasicAuthenticationProvider(`${userGroup2Id}/${user2Id}`, userPw12), fetch).getCurrentUser();
|
|
418
|
-
yield new icc_api_1.IccUserApi(env.iCureUrl, {}, new icc_x_api_1.BasicAuthenticationProvider(`${userGroup3Id}/${user3Id}`, userPw3), fetch).getCurrentUser();
|
|
419
|
-
}), 10, 5000, 1);
|
|
420
|
-
return {
|
|
421
|
-
user1,
|
|
422
|
-
user2,
|
|
423
|
-
user3,
|
|
424
|
-
group1,
|
|
425
|
-
group2,
|
|
426
|
-
group3,
|
|
427
|
-
userPw12,
|
|
428
|
-
userPw3,
|
|
429
|
-
userLogin,
|
|
430
|
-
};
|
|
431
|
-
});
|
|
432
|
-
}
|
|
433
|
-
function isLiteTest() {
|
|
434
|
-
return (0, types_1.getEnvVariables)().testEnvironment == 'oss';
|
|
435
|
-
}
|
|
436
|
-
function describeNoLite(title, fn) {
|
|
437
|
-
if (isLiteTest()) {
|
|
438
|
-
return mocha_1.describe.skip(title, fn);
|
|
439
|
-
}
|
|
440
|
-
else {
|
|
441
|
-
return (0, mocha_1.describe)(title, fn);
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
function itNoLite(title, fn) {
|
|
445
|
-
if (isLiteTest()) {
|
|
446
|
-
return it.skip(title, fn);
|
|
447
|
-
}
|
|
448
|
-
else {
|
|
449
|
-
return it(title, fn);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
//# sourceMappingURL=test_utils.js.map
|