@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
|
@@ -1,95 +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
|
-
const types_1 = require("@icure/test-setup/types");
|
|
13
|
-
const test_utils_1 = require("../../utils/test_utils");
|
|
14
|
-
const IccRecoveryDataApi_1 = require("../../../icc-api/api/internal/IccRecoveryDataApi");
|
|
15
|
-
const icc_x_api_1 = require("../../../icc-x-api");
|
|
16
|
-
require("isomorphic-fetch");
|
|
17
|
-
const RecoveryData_1 = require("../../../icc-api/model/internal/RecoveryData");
|
|
18
|
-
const crypto_1 = require("crypto");
|
|
19
|
-
const chai_1 = require("chai");
|
|
20
|
-
const XHR_1 = require("../../../icc-api/api/XHR");
|
|
21
|
-
var XHRError = XHR_1.XHR.XHRError;
|
|
22
|
-
let env;
|
|
23
|
-
let self;
|
|
24
|
-
let api;
|
|
25
|
-
(0, test_utils_1.setLocalStorage)(fetch);
|
|
26
|
-
describe('Recovery data api', () => {
|
|
27
|
-
before(function () {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
this.timeout(600000);
|
|
30
|
-
const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
|
|
31
|
-
env = yield initializer.execute((0, types_1.getEnvVariables)());
|
|
32
|
-
const hcp = env.dataOwnerDetails[test_utils_1.hcp1Username];
|
|
33
|
-
self = hcp.dataOwnerId;
|
|
34
|
-
api = new IccRecoveryDataApi_1.IccRecoveryDataApi(env.iCureUrl, {}, new icc_x_api_1.BasicAuthenticationProvider(hcp.user, hcp.password), fetch);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
function newRecoveryData(type = RecoveryData_1.RecoveryData.Type.KEYPAIR_RECOVERY) {
|
|
38
|
-
return new RecoveryData_1.RecoveryData({
|
|
39
|
-
id: (0, crypto_1.randomUUID)(),
|
|
40
|
-
recipient: self,
|
|
41
|
-
encryptedSelf: (0, icc_x_api_1.ua2b64)((0, icc_x_api_1.utf8_2ua)((0, crypto_1.randomUUID)())),
|
|
42
|
-
type,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
function checkDeleted(recoveryDataId) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
yield api.getRecoveryData(recoveryDataId).then(() => chai_1.expect.fail('should not be able to retrieve deleted recovery data'), (err) => {
|
|
48
|
-
(0, chai_1.expect)(err).to.be.instanceof(XHRError);
|
|
49
|
-
(0, chai_1.expect)(err.statusCode).to.equal(404);
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
it('should be capable of creating recovery data', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
-
const recoveryData = newRecoveryData();
|
|
55
|
-
const created = yield api.createRecoveryData(recoveryData);
|
|
56
|
-
(0, chai_1.expect)(created.rev).to.not.be.empty;
|
|
57
|
-
(0, chai_1.expect)(created.id).to.equal(recoveryData.id);
|
|
58
|
-
(0, chai_1.expect)(created.recipient).to.equal(recoveryData.recipient);
|
|
59
|
-
(0, chai_1.expect)(created.encryptedSelf).to.equal(recoveryData.encryptedSelf);
|
|
60
|
-
(0, chai_1.expect)(created.type).to.equal(recoveryData.type);
|
|
61
|
-
(0, chai_1.expect)(created.deletionDate).to.be.undefined;
|
|
62
|
-
(0, chai_1.expect)(created.expirationInstant).to.be.undefined;
|
|
63
|
-
}));
|
|
64
|
-
it('should be capable of getting recovery data', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
-
const created = yield api.createRecoveryData(newRecoveryData());
|
|
66
|
-
const retrieved = yield api.getRecoveryData(created.id);
|
|
67
|
-
(0, chai_1.expect)(created).to.deep.equal(retrieved);
|
|
68
|
-
}));
|
|
69
|
-
it('should be capable of deleting recovery data', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
|
-
const created = yield api.createRecoveryData(newRecoveryData());
|
|
71
|
-
yield api.deleteRecoveryData(created.id);
|
|
72
|
-
yield checkDeleted(created.id);
|
|
73
|
-
}));
|
|
74
|
-
it('should be capable of deleting all recovery data for a recipient', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
-
yield api.deleteAllRecoveryDataForRecipient(self);
|
|
76
|
-
const created1 = yield api.createRecoveryData(newRecoveryData(RecoveryData_1.RecoveryData.Type.KEYPAIR_RECOVERY));
|
|
77
|
-
const created2 = yield api.createRecoveryData(newRecoveryData(RecoveryData_1.RecoveryData.Type.EXCHANGE_KEY_RECOVERY));
|
|
78
|
-
const deleted = yield api.deleteAllRecoveryDataForRecipient(self);
|
|
79
|
-
yield checkDeleted(created1.id);
|
|
80
|
-
yield checkDeleted(created2.id);
|
|
81
|
-
(0, chai_1.expect)(deleted.numberValue).to.equal(2);
|
|
82
|
-
}));
|
|
83
|
-
it('should be capable of deleting all recovery data of a type for a recipient', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
-
yield api.deleteAllRecoveryDataForRecipient(self);
|
|
85
|
-
const created1 = yield api.createRecoveryData(newRecoveryData(RecoveryData_1.RecoveryData.Type.KEYPAIR_RECOVERY));
|
|
86
|
-
const created2 = yield api.createRecoveryData(newRecoveryData(RecoveryData_1.RecoveryData.Type.EXCHANGE_KEY_RECOVERY));
|
|
87
|
-
const created3 = yield api.createRecoveryData(newRecoveryData(RecoveryData_1.RecoveryData.Type.EXCHANGE_KEY_RECOVERY));
|
|
88
|
-
const deleted = yield api.deleteAllRecoveryDataOfTypeForRecipient(RecoveryData_1.RecoveryData.Type.EXCHANGE_KEY_RECOVERY, self);
|
|
89
|
-
(0, chai_1.expect)(yield api.getRecoveryData(created1.id)).to.deep.equal(created1);
|
|
90
|
-
yield checkDeleted(created2.id);
|
|
91
|
-
yield checkDeleted(created3.id);
|
|
92
|
-
(0, chai_1.expect)(deleted.numberValue).to.equal(2);
|
|
93
|
-
}));
|
|
94
|
-
});
|
|
95
|
-
//# sourceMappingURL=IccRecoveryDataApi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IccRecoveryDataApi.js","sourceRoot":"","sources":["../../../../test/icc-api/api/IccRecoveryDataApi.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,mDAAmE;AACnE,uDAAiG;AACjG,yFAAqF;AACrF,kDAAkF;AAClF,4BAAyB;AACzB,+EAA2E;AAC3E,mCAAmC;AACnC,+BAA6B;AAC7B,kDAA8C;AAC9C,IAAO,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAA;AAE9B,IAAI,GAAa,CAAA;AACjB,IAAI,IAAY,CAAA;AAChB,IAAI,GAAuB,CAAA;AAC3B,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAA;AAEtB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,CAAC;;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,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,yBAAY,CAAC,CAAA;YAC9C,IAAI,GAAG,GAAG,CAAC,WAAW,CAAA;YACtB,GAAG,GAAG,IAAI,uCAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,uCAA2B,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QAChH,CAAC;KAAA,CAAC,CAAA;IAEF,SAAS,eAAe,CAAC,OAA0B,2BAAY,CAAC,IAAI,CAAC,gBAAgB;QACnF,OAAO,IAAI,2BAAY,CAAC;YACtB,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAA,kBAAM,EAAC,IAAA,oBAAQ,EAAC,IAAA,mBAAU,GAAE,CAAC,CAAC;YAC7C,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;IAED,SAAe,YAAY,CAAC,cAAsB;;YAChD,MAAM,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,IAAI,CAC5C,GAAG,EAAE,CAAC,aAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,EACzE,CAAC,GAAG,EAAE,EAAE;gBACN,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;gBACtC,IAAA,aAAM,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACtC,CAAC,CACF,CAAA;QACH,CAAC;KAAA;IAED,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC3D,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC1D,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAA;QACnC,IAAA,aAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC5C,IAAA,aAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAC1D,IAAA,aAAM,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QAClE,IAAA,aAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAChD,IAAA,aAAM,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAA;QAC5C,IAAA,aAAM,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAA;IACnD,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAA;QAC/D,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAG,CAAC,CAAA;QACxD,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;QAC3D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAA;QAC/D,MAAM,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAG,CAAC,CAAA;QACzC,MAAM,YAAY,CAAC,OAAO,CAAC,EAAG,CAAC,CAAA;IACjC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,iEAAiE,EAAE,GAAS,EAAE;QAC/E,MAAM,GAAG,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,2BAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAClG,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,2BAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;QACvG,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAA;QACjE,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAA;QAChC,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAA;QAChC,IAAA,aAAM,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,2EAA2E,EAAE,GAAS,EAAE;QACzF,MAAM,GAAG,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,2BAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAClG,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,2BAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;QACvG,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,2BAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;QACvG,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,uCAAuC,CAAC,2BAAY,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAA;QAChH,IAAA,aAAM,EAAC,MAAM,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACvE,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAA;QAChC,MAAM,YAAY,CAAC,QAAQ,CAAC,EAAG,CAAC,CAAA;QAChC,IAAA,aAAM,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { getEnvironmentInitializer, hcp1Username, setLocalStorage } from '../../utils/test_utils'\nimport { IccRecoveryDataApi } from '../../../icc-api/api/internal/IccRecoveryDataApi'\nimport { BasicAuthenticationProvider, ua2b64, utf8_2ua } from '../../../icc-x-api'\nimport 'isomorphic-fetch'\nimport { RecoveryData } from '../../../icc-api/model/internal/RecoveryData'\nimport { randomUUID } from 'crypto'\nimport { expect } from 'chai'\nimport { XHR } from '../../../icc-api/api/XHR'\nimport XHRError = XHR.XHRError\n\nlet env: TestVars\nlet self: string\nlet api: IccRecoveryDataApi\nsetLocalStorage(fetch)\n\ndescribe('Recovery data api', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n const hcp = env.dataOwnerDetails[hcp1Username]\n self = hcp.dataOwnerId\n api = new IccRecoveryDataApi(env.iCureUrl, {}, new BasicAuthenticationProvider(hcp.user, hcp.password), fetch)\n })\n\n function newRecoveryData(type: RecoveryData.Type = RecoveryData.Type.KEYPAIR_RECOVERY): RecoveryData {\n return new RecoveryData({\n id: randomUUID(),\n recipient: self,\n encryptedSelf: ua2b64(utf8_2ua(randomUUID())),\n type,\n })\n }\n\n async function checkDeleted(recoveryDataId: string) {\n await api.getRecoveryData(recoveryDataId).then(\n () => expect.fail('should not be able to retrieve deleted recovery data'),\n (err) => {\n expect(err).to.be.instanceof(XHRError)\n expect(err.statusCode).to.equal(404)\n }\n )\n }\n\n it('should be capable of creating recovery data', async () => {\n const recoveryData = newRecoveryData()\n const created = await api.createRecoveryData(recoveryData)\n expect(created.rev).to.not.be.empty\n expect(created.id).to.equal(recoveryData.id)\n expect(created.recipient).to.equal(recoveryData.recipient)\n expect(created.encryptedSelf).to.equal(recoveryData.encryptedSelf)\n expect(created.type).to.equal(recoveryData.type)\n expect(created.deletionDate).to.be.undefined\n expect(created.expirationInstant).to.be.undefined\n })\n\n it('should be capable of getting recovery data', async () => {\n const created = await api.createRecoveryData(newRecoveryData())\n const retrieved = await api.getRecoveryData(created.id!)\n expect(created).to.deep.equal(retrieved)\n })\n\n it('should be capable of deleting recovery data', async () => {\n const created = await api.createRecoveryData(newRecoveryData())\n await api.deleteRecoveryData(created.id!)\n await checkDeleted(created.id!)\n })\n\n it('should be capable of deleting all recovery data for a recipient', async () => {\n await api.deleteAllRecoveryDataForRecipient(self)\n const created1 = await api.createRecoveryData(newRecoveryData(RecoveryData.Type.KEYPAIR_RECOVERY))\n const created2 = await api.createRecoveryData(newRecoveryData(RecoveryData.Type.EXCHANGE_KEY_RECOVERY))\n const deleted = await api.deleteAllRecoveryDataForRecipient(self)\n await checkDeleted(created1.id!)\n await checkDeleted(created2.id!)\n expect(deleted.numberValue).to.equal(2)\n })\n\n it('should be capable of deleting all recovery data of a type for a recipient', async () => {\n await api.deleteAllRecoveryDataForRecipient(self)\n const created1 = await api.createRecoveryData(newRecoveryData(RecoveryData.Type.KEYPAIR_RECOVERY))\n const created2 = await api.createRecoveryData(newRecoveryData(RecoveryData.Type.EXCHANGE_KEY_RECOVERY))\n const created3 = await api.createRecoveryData(newRecoveryData(RecoveryData.Type.EXCHANGE_KEY_RECOVERY))\n const deleted = await api.deleteAllRecoveryDataOfTypeForRecipient(RecoveryData.Type.EXCHANGE_KEY_RECOVERY, self)\n expect(await api.getRecoveryData(created1.id!)).to.deep.equal(created1)\n await checkDeleted(created2.id!)\n await checkDeleted(created3.id!)\n expect(deleted.numberValue).to.equal(2)\n })\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'isomorphic-fetch';
|
|
@@ -1,34 +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 test_utils_1 = require("../../utils/test_utils");
|
|
14
|
-
const chai_1 = require("chai");
|
|
15
|
-
var initMasterApi = test_utils_1.TestUtils.initMasterApi;
|
|
16
|
-
const types_1 = require("@icure/test-setup/types");
|
|
17
|
-
(0, test_utils_1.setLocalStorage)(fetch);
|
|
18
|
-
let env;
|
|
19
|
-
let roleApi;
|
|
20
|
-
(0, test_utils_1.describeNoLite)('IccRoleApi', () => {
|
|
21
|
-
before(function () {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
this.timeout(600000);
|
|
24
|
-
const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
|
|
25
|
-
env = yield initializer.execute((0, types_1.getEnvVariables)());
|
|
26
|
-
roleApi = (yield initMasterApi(env)).roleApi;
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
it('should be able of getting all the roles', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
-
const roles = yield roleApi.getRoles();
|
|
31
|
-
(0, chai_1.expect)(roles.length).to.be.greaterThan(0);
|
|
32
|
-
}));
|
|
33
|
-
});
|
|
34
|
-
//# sourceMappingURL=IccRoleApi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IccRoleApi.js","sourceRoot":"","sources":["../../../../test/icc-api/api/IccRoleApi.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAAyB;AACzB,uDAA8G;AAE9G,+BAA6B;AAC7B,IAAO,aAAa,GAAG,sBAAS,CAAC,aAAa,CAAA;AAC9C,mDAAmE;AAEnE,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAA;AAEtB,IAAI,GAAa,CAAA;AACjB,IAAI,OAAmB,CAAA;AAEvB,IAAA,2BAAc,EAAC,YAAY,EAAE,GAAG,EAAE;IAChC,MAAM,CAAC;;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,OAAO,GAAG,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAA;QAC9C,CAAC;KAAA,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAS,EAAE;QACvD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;QACtC,IAAA,aAAM,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import 'isomorphic-fetch'\nimport { describeNoLite, getEnvironmentInitializer, setLocalStorage, TestUtils } from '../../utils/test_utils'\nimport { IccRoleApi } from '../../../icc-api/api/IccRoleApi'\nimport { expect } from 'chai'\nimport initMasterApi = TestUtils.initMasterApi\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\n\nsetLocalStorage(fetch)\n\nlet env: TestVars\nlet roleApi: IccRoleApi\n\ndescribeNoLite('IccRoleApi', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n roleApi = (await initMasterApi(env)).roleApi\n })\n\n it('should be able of getting all the roles', async () => {\n const roles = await roleApi.getRoles()\n expect(roles.length).to.be.greaterThan(0)\n })\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,96 +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
|
-
const chai_1 = require("chai");
|
|
13
|
-
const crypto_1 = require("crypto");
|
|
14
|
-
const test_utils_1 = require("../../utils/test_utils");
|
|
15
|
-
var initApi = test_utils_1.TestUtils.initApi;
|
|
16
|
-
const types_1 = require("@icure/test-setup/types");
|
|
17
|
-
const DatabaseInitialisation_1 = require("../../../icc-api/model/DatabaseInitialisation");
|
|
18
|
-
var initMasterApi = test_utils_1.TestUtils.initMasterApi;
|
|
19
|
-
let env;
|
|
20
|
-
(0, test_utils_1.setLocalStorage)(fetch);
|
|
21
|
-
(0, test_utils_1.describeNoLite)('User in group', () => {
|
|
22
|
-
before(function () {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
this.timeout(600000);
|
|
25
|
-
const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
|
|
26
|
-
env = yield initializer.execute((0, types_1.getEnvVariables)());
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
it('should be capable of creating a token', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
-
const { userApi } = yield initApi(env, test_utils_1.hcp1Username);
|
|
31
|
-
const currentUser = yield userApi.getCurrentUser();
|
|
32
|
-
const token = yield userApi.getTokenInGroup(currentUser.groupId, currentUser.id, `e2eTestTS-${(0, crypto_1.randomUUID)()}`, undefined, 3);
|
|
33
|
-
(0, chai_1.expect)(token.match(/[a-fA-F0-9]+/));
|
|
34
|
-
})).timeout(30000);
|
|
35
|
-
it('should be able to add and remove a role to a user', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
37
|
-
const { userApi, roleApi } = yield initMasterApi(env);
|
|
38
|
-
const role = (yield roleApi.getRoles())[0].id;
|
|
39
|
-
const login = `${(0, crypto_1.randomUUID)().substring(0, 6)}-test-user@icure.com`;
|
|
40
|
-
const user = yield userApi.createUser({
|
|
41
|
-
id: (0, crypto_1.randomUUID)(),
|
|
42
|
-
name: (0, crypto_1.randomUUID)(),
|
|
43
|
-
login: login,
|
|
44
|
-
email: login,
|
|
45
|
-
});
|
|
46
|
-
(0, chai_1.expect)((_b = (_a = user.roles) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0).to.be.equal(0);
|
|
47
|
-
const userWithRole = yield userApi.setRoles(user.id, [role]);
|
|
48
|
-
(0, chai_1.expect)((_e = (_d = (_c = userWithRole.systemMetadata) === null || _c === void 0 ? void 0 : _c.roles) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0).to.be.equal(1);
|
|
49
|
-
(0, chai_1.expect)((_f = userWithRole.systemMetadata) === null || _f === void 0 ? void 0 : _f.inheritsRoles).to.be.equal(false);
|
|
50
|
-
(0, chai_1.expect)((_g = userWithRole.systemMetadata) === null || _g === void 0 ? void 0 : _g.roles[0]).to.be.equal(role);
|
|
51
|
-
const userWithoutRole = yield userApi.resetRoles(user.id);
|
|
52
|
-
(0, chai_1.expect)((_h = userWithoutRole.systemMetadata) === null || _h === void 0 ? void 0 : _h.inheritsRoles).to.be.equal(true);
|
|
53
|
-
}));
|
|
54
|
-
it('should be able to add and remove a role to a user in group', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
56
|
-
const { userApi, roleApi, groupApi } = yield initMasterApi(env);
|
|
57
|
-
const role = (yield roleApi.getRoles())[0].id;
|
|
58
|
-
const groupId = (0, crypto_1.randomUUID)();
|
|
59
|
-
const groupName = groupId.substring(0, 5);
|
|
60
|
-
const groupPwd = (0, crypto_1.randomUUID)();
|
|
61
|
-
yield groupApi.createGroup(groupId, groupName, groupPwd, undefined, undefined, undefined, undefined, undefined, new DatabaseInitialisation_1.DatabaseInitialisation({
|
|
62
|
-
users: [],
|
|
63
|
-
healthcareParties: [],
|
|
64
|
-
}));
|
|
65
|
-
const login = `${(0, crypto_1.randomUUID)().substring(0, 6)}-test-user@icure.com`;
|
|
66
|
-
const user = yield userApi.createUserInGroup(groupId, {
|
|
67
|
-
id: (0, crypto_1.randomUUID)(),
|
|
68
|
-
name: (0, crypto_1.randomUUID)(),
|
|
69
|
-
login: login,
|
|
70
|
-
email: login,
|
|
71
|
-
});
|
|
72
|
-
(0, chai_1.expect)((_b = (_a = user.roles) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0).to.be.equal(0);
|
|
73
|
-
const userWithRole = yield userApi.setRolesInGroup(user.id, groupId, [role]);
|
|
74
|
-
(0, chai_1.expect)((_e = (_d = (_c = userWithRole.systemMetadata) === null || _c === void 0 ? void 0 : _c.roles) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0).to.be.equal(1);
|
|
75
|
-
(0, chai_1.expect)((_f = userWithRole.systemMetadata) === null || _f === void 0 ? void 0 : _f.inheritsRoles).to.be.equal(false);
|
|
76
|
-
(0, chai_1.expect)((_g = userWithRole.systemMetadata) === null || _g === void 0 ? void 0 : _g.roles[0]).to.be.equal(role);
|
|
77
|
-
const userWithoutRole = yield userApi.resetRolesInGroup(user.id, groupId);
|
|
78
|
-
(0, chai_1.expect)((_h = userWithoutRole.systemMetadata) === null || _h === void 0 ? void 0 : _h.inheritsRoles).to.be.equal(true);
|
|
79
|
-
}));
|
|
80
|
-
});
|
|
81
|
-
describe('User', () => {
|
|
82
|
-
before(function () {
|
|
83
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
this.timeout(600000);
|
|
85
|
-
const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
|
|
86
|
-
env = yield initializer.execute((0, types_1.getEnvVariables)());
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
it('should be capable of creating a token', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
-
const { userApi } = yield initApi(env, test_utils_1.hcp1Username);
|
|
91
|
-
const currentUser = yield userApi.getCurrentUser();
|
|
92
|
-
const token = yield userApi.getToken(currentUser.id, `e2eTestTS-${(0, crypto_1.randomUUID)()}`, 3, undefined);
|
|
93
|
-
(0, chai_1.expect)(token.match(/[a-fA-F0-9]+/));
|
|
94
|
-
})).timeout(30000);
|
|
95
|
-
});
|
|
96
|
-
//# sourceMappingURL=IccUserApi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IccUserApi.js","sourceRoot":"","sources":["../../../../test/icc-api/api/IccUserApi.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect } from 'chai'\nimport { randomUUID } from 'crypto'\nimport { describeNoLite, getEnvironmentInitializer, hcp1Username, setLocalStorage, TestUtils } from '../../utils/test_utils'\nimport initApi = TestUtils.initApi\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport { DatabaseInitialisation } from '../../../icc-api/model/DatabaseInitialisation'\nimport initMasterApi = TestUtils.initMasterApi\n\nlet env: TestVars\nsetLocalStorage(fetch)\n\ndescribeNoLite('User in group', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('should be capable of creating a token', async () => {\n const { userApi } = await initApi(env, hcp1Username)\n const currentUser = await userApi.getCurrentUser()\n const token = await userApi.getTokenInGroup(currentUser.groupId!, currentUser.id!, `e2eTestTS-${randomUUID()}`, undefined, 3)\n expect(token.match(/[a-fA-F0-9]+/))\n }).timeout(30000)\n\n it('should be able to add and remove a role to a user', async () => {\n const { userApi, roleApi } = await initMasterApi(env)\n\n const role = (await roleApi.getRoles())[0].id!\n\n const login = `${randomUUID().substring(0, 6)}-test-user@icure.com`\n const user = await userApi.createUser({\n id: randomUUID(),\n name: randomUUID(),\n login: login,\n email: login,\n })\n expect(user.roles?.length ?? 0).to.be.equal(0)\n\n const userWithRole = await userApi.setRoles(user.id!, [role])\n expect(userWithRole.systemMetadata?.roles?.length ?? 0).to.be.equal(1)\n expect(userWithRole.systemMetadata?.inheritsRoles).to.be.equal(false)\n expect(userWithRole.systemMetadata?.roles![0]).to.be.equal(role)\n\n const userWithoutRole = await userApi.resetRoles(user.id!)\n expect(userWithoutRole.systemMetadata?.inheritsRoles).to.be.equal(true)\n })\n\n it('should be able to add and remove a role to a user in group', async () => {\n const { userApi, roleApi, groupApi } = await initMasterApi(env)\n\n const role = (await roleApi.getRoles())[0].id!\n\n const groupId = randomUUID()\n const groupName = groupId.substring(0, 5)\n const groupPwd = randomUUID()\n await groupApi.createGroup(\n groupId,\n groupName,\n groupPwd,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n new DatabaseInitialisation({\n users: [],\n healthcareParties: [],\n })\n )\n\n const login = `${randomUUID().substring(0, 6)}-test-user@icure.com`\n const user = await userApi.createUserInGroup(groupId, {\n id: randomUUID(),\n name: randomUUID(),\n login: login,\n email: login,\n })\n expect(user.roles?.length ?? 0).to.be.equal(0)\n\n const userWithRole = await userApi.setRolesInGroup(user.id!, groupId, [role])\n expect(userWithRole.systemMetadata?.roles?.length ?? 0).to.be.equal(1)\n expect(userWithRole.systemMetadata?.inheritsRoles).to.be.equal(false)\n expect(userWithRole.systemMetadata?.roles![0]).to.be.equal(role)\n\n const userWithoutRole = await userApi.resetRolesInGroup(user.id!, groupId)\n expect(userWithoutRole.systemMetadata?.inheritsRoles).to.be.equal(true)\n })\n})\n\ndescribe('User', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('should be capable of creating a token', async () => {\n const { userApi } = await initApi(env, hcp1Username)\n const currentUser = await userApi.getCurrentUser()\n const token = await userApi.getToken(currentUser.id!, `e2eTestTS-${randomUUID()}`, 3, undefined)\n expect(token.match(/[a-fA-F0-9]+/))\n }).timeout(30000)\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,46 +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
|
-
const icc_x_api_1 = require("../../../icc-x-api");
|
|
13
|
-
const chai_1 = require("chai");
|
|
14
|
-
const crypto_1 = require("crypto");
|
|
15
|
-
const test_utils_1 = require("../../utils/test_utils");
|
|
16
|
-
const SecureDelegation_1 = require("../../../icc-api/model/SecureDelegation");
|
|
17
|
-
const types_1 = require("@icure/test-setup/types");
|
|
18
|
-
var initApi = test_utils_1.TestUtils.initApi;
|
|
19
|
-
var AccessLevel = SecureDelegation_1.SecureDelegation.AccessLevelEnum;
|
|
20
|
-
let env;
|
|
21
|
-
describe('Calendar', () => {
|
|
22
|
-
before(function () {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
this.timeout(600000);
|
|
25
|
-
const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
|
|
26
|
-
env = yield initializer.execute((0, types_1.getEnvVariables)());
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
it('should be capable of creating a calendar item', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
-
const api = yield initApi(env, test_utils_1.patUsername);
|
|
31
|
-
const currentUser = yield api.userApi.getCurrentUser();
|
|
32
|
-
yield api.patientApi.getPatientWithUser(currentUser, currentUser.patientId);
|
|
33
|
-
const hcpApi = yield initApi(env, test_utils_1.hcp1Username);
|
|
34
|
-
const hcp = yield hcpApi.userApi.getCurrentUser();
|
|
35
|
-
const jwk = {
|
|
36
|
-
publicKey: (0, icc_x_api_1.spkiToJwk)((0, icc_x_api_1.hex2ua)(env.dataOwnerDetails[test_utils_1.patUsername].publicKey), icc_x_api_1.ShaVersion.Sha1),
|
|
37
|
-
privateKey: (0, icc_x_api_1.pkcs8ToJwk)((0, icc_x_api_1.hex2ua)(env.dataOwnerDetails[test_utils_1.patUsername].privateKey)),
|
|
38
|
-
};
|
|
39
|
-
yield api.cryptoApi.keyStorage.storeKeyPair(`${currentUser.healthcarePartyId}.${env.dataOwnerDetails[test_utils_1.patUsername].publicKey.slice(-32)}`, jwk);
|
|
40
|
-
const calendarItem = yield api.calendarItemApi.createCalendarItemWithHcParty(currentUser, yield api.calendarItemApi.newInstance(currentUser, { id: (0, crypto_1.randomUUID)(), details: 'Hello' }, {
|
|
41
|
-
additionalDelegates: { [hcp.healthcarePartyId]: AccessLevel.WRITE },
|
|
42
|
-
}));
|
|
43
|
-
(0, chai_1.expect)(calendarItem.id).to.be.not.null;
|
|
44
|
-
}));
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=IccCalendarItemApi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IccCalendarItemApi.js","sourceRoot":"","sources":["../../../../test/icc-api/e2e/IccCalendarItemApi.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kDAA8E;AAC9E,+BAA6B;AAC7B,mCAAmC;AACnC,uDAAwG;AACxG,8EAA0E;AAC1E,mDAAmE;AACnE,IAAO,OAAO,GAAG,sBAAS,CAAC,OAAO,CAAA;AAClC,IAAO,WAAW,GAAG,mCAAgB,CAAC,eAAe,CAAA;AAErD,IAAI,GAAa,CAAA;AAEjB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,MAAM,CAAC;;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;QACpD,CAAC;KAAA,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;QAC7D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAI,EAAE,wBAAW,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;QACtD,MAAM,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,SAAU,CAAC,CAAA;QAE5E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAI,EAAE,yBAAY,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;QAEjD,MAAM,GAAG,GAAG;YACV,SAAS,EAAE,IAAA,qBAAS,EAAC,IAAA,kBAAM,EAAC,GAAI,CAAC,gBAAgB,CAAC,wBAAW,CAAC,CAAC,SAAS,CAAC,EAAE,sBAAU,CAAC,IAAI,CAAC;YAC3F,UAAU,EAAE,IAAA,sBAAU,EAAC,IAAA,kBAAM,EAAC,GAAI,CAAC,gBAAgB,CAAC,wBAAW,CAAC,CAAC,UAAU,CAAC,CAAC;SAC9E,CAAA;QACD,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,iBAAkB,IAAI,GAAI,CAAC,gBAAgB,CAAC,wBAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAEhJ,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,6BAA6B,CAC1E,WAAW,EACX,MAAM,GAAG,CAAC,eAAe,CAAC,WAAW,CACnC,WAAW,EACX,EAAE,EAAE,EAAE,IAAA,mBAAU,GAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EACtC;YACE,mBAAmB,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAkB,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE;SACrE,CACF,CACF,CAAA;QACD,IAAA,aAAM,EAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAA;IACxC,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { hex2ua, pkcs8ToJwk, ShaVersion, spkiToJwk } from '../../../icc-x-api'\nimport { expect } from 'chai'\nimport { randomUUID } from 'crypto'\nimport { getEnvironmentInitializer, hcp1Username, patUsername, TestUtils } from '../../utils/test_utils'\nimport { SecureDelegation } from '../../../icc-api/model/SecureDelegation'\nimport { getEnvVariables, TestVars } from '@icure/test-setup/types'\nimport initApi = TestUtils.initApi\nimport AccessLevel = SecureDelegation.AccessLevelEnum\n\nlet env: TestVars\n\ndescribe('Calendar', () => {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n env = await initializer.execute(getEnvVariables())\n })\n\n it('should be capable of creating a calendar item', async () => {\n const api = await initApi(env!, patUsername)\n const currentUser = await api.userApi.getCurrentUser()\n await api.patientApi.getPatientWithUser(currentUser, currentUser.patientId!)\n\n const hcpApi = await initApi(env!, hcp1Username)\n const hcp = await hcpApi.userApi.getCurrentUser()\n\n const jwk = {\n publicKey: spkiToJwk(hex2ua(env!.dataOwnerDetails[patUsername].publicKey), ShaVersion.Sha1),\n privateKey: pkcs8ToJwk(hex2ua(env!.dataOwnerDetails[patUsername].privateKey)),\n }\n await api.cryptoApi.keyStorage.storeKeyPair(`${currentUser.healthcarePartyId!}.${env!.dataOwnerDetails[patUsername].publicKey.slice(-32)}`, jwk)\n\n const calendarItem = await api.calendarItemApi.createCalendarItemWithHcParty(\n currentUser,\n await api.calendarItemApi.newInstance(\n currentUser,\n { id: randomUUID(), details: 'Hello' },\n {\n additionalDelegates: { [hcp.healthcarePartyId!]: AccessLevel.WRITE },\n }\n )\n )\n expect(calendarItem.id).to.be.not.null\n })\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'mocha';
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/* make node behave */
|
|
4
|
-
const chai_1 = require("chai");
|
|
5
|
-
require("mocha");
|
|
6
|
-
const ModelHelper_1 = require("../../../icc-api/model/ModelHelper");
|
|
7
|
-
function getRaw(size) {
|
|
8
|
-
return 'x'.repeat(size).replace(/./g, () => String.fromCharCode(Math.random() * 256));
|
|
9
|
-
}
|
|
10
|
-
describe('invariants', () => {
|
|
11
|
-
it('should support b64 -> binary and vice versa', () => {
|
|
12
|
-
const raw = getRaw(1024);
|
|
13
|
-
const b64 = (0, ModelHelper_1.b2a)(raw);
|
|
14
|
-
(0, chai_1.expect)((0, ModelHelper_1.a2b)((0, ModelHelper_1.b2a)(raw))).to.equal(raw);
|
|
15
|
-
(0, chai_1.expect)((0, ModelHelper_1.b2a)((0, ModelHelper_1.a2b)(b64))).to.equal(b64);
|
|
16
|
-
});
|
|
17
|
-
it('should support string2ua and vice versa', () => {
|
|
18
|
-
const raw = getRaw(1024);
|
|
19
|
-
const uint8Array = (0, ModelHelper_1.string2ua)(raw);
|
|
20
|
-
(0, chai_1.expect)((0, ModelHelper_1.ua2string)((0, ModelHelper_1.string2ua)(raw))).to.equal(raw);
|
|
21
|
-
(0, chai_1.expect)((0, ModelHelper_1.string2ua)((0, ModelHelper_1.ua2string)(uint8Array))).to.deep.eq(uint8Array);
|
|
22
|
-
});
|
|
23
|
-
it('should support b64 -> ab and vice versa', () => {
|
|
24
|
-
const raw = getRaw(1024);
|
|
25
|
-
const b64 = (0, ModelHelper_1.b2a)(raw);
|
|
26
|
-
const ua = (0, ModelHelper_1.string2ua)(raw);
|
|
27
|
-
(0, chai_1.expect)((0, ModelHelper_1.ua2b64)((0, ModelHelper_1.b64_2ua)(b64))).to.equal(b64);
|
|
28
|
-
(0, chai_1.expect)((0, ModelHelper_1.b64_2ua)((0, ModelHelper_1.ua2b64)(ua))).to.deep.eq(ua);
|
|
29
|
-
});
|
|
30
|
-
it('Cross conversions should work too', () => {
|
|
31
|
-
const raw = getRaw(1024);
|
|
32
|
-
const b64 = (0, ModelHelper_1.b2a)(raw);
|
|
33
|
-
const ua = (0, ModelHelper_1.string2ua)(raw);
|
|
34
|
-
(0, chai_1.expect)((0, ModelHelper_1.b2a)((0, ModelHelper_1.ua2string)((0, ModelHelper_1.b64_2ua)(b64)))).to.equal(b64);
|
|
35
|
-
(0, chai_1.expect)((0, ModelHelper_1.string2ua)((0, ModelHelper_1.a2b)((0, ModelHelper_1.ua2b64)(ua)))).to.deep.eq(ua);
|
|
36
|
-
});
|
|
37
|
-
it('should support b64 -> ab and vice versa for big data set', () => {
|
|
38
|
-
const raw = getRaw(30 * 1024 * 1024);
|
|
39
|
-
const b64 = (0, ModelHelper_1.b2a)(raw);
|
|
40
|
-
const ua = (0, ModelHelper_1.string2ua)(raw);
|
|
41
|
-
(0, chai_1.expect)((0, ModelHelper_1.ua2b64)((0, ModelHelper_1.b64_2ua)(b64))).to.equal(b64);
|
|
42
|
-
(0, chai_1.expect)((0, ModelHelper_1.b64_2ua)((0, ModelHelper_1.ua2b64)(ua))).to.deep.eq(ua);
|
|
43
|
-
}).timeout(120000);
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=modelHelpersTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modelHelpersTest.js","sourceRoot":"","sources":["../../../../test/icc-api/model/modelHelpersTest.ts"],"names":[],"mappings":"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","sourcesContent":["/* make node behave */\nimport { expect } from 'chai'\nimport 'mocha'\n\nimport { a2b, b2a, string2ua, ua2string, b64_2ua, ua2b64 } from '../../../icc-api/model/ModelHelper'\n\nfunction getRaw(size: number) {\n return 'x'.repeat(size).replace(/./g, () => String.fromCharCode(Math.random() * 256))\n}\n\ndescribe('invariants', () => {\n it('should support b64 -> binary and vice versa', () => {\n const raw = getRaw(1024)\n const b64 = b2a(raw)\n\n expect(a2b(b2a(raw))).to.equal(raw)\n expect(b2a(a2b(b64))).to.equal(b64)\n })\n\n it('should support string2ua and vice versa', () => {\n const raw = getRaw(1024)\n const uint8Array = string2ua(raw)\n\n expect(ua2string(string2ua(raw))).to.equal(raw)\n expect(string2ua(ua2string(uint8Array))).to.deep.eq(uint8Array)\n })\n\n it('should support b64 -> ab and vice versa', () => {\n const raw = getRaw(1024)\n const b64 = b2a(raw)\n const ua = string2ua(raw)\n\n expect(ua2b64(b64_2ua(b64))).to.equal(b64)\n expect(b64_2ua(ua2b64(ua))).to.deep.eq(ua)\n })\n\n it('Cross conversions should work too', () => {\n const raw = getRaw(1024)\n const b64 = b2a(raw)\n const ua = string2ua(raw)\n\n expect(b2a(ua2string(b64_2ua(b64)))).to.equal(b64)\n expect(string2ua(a2b(ua2b64(ua)))).to.deep.eq(ua)\n })\n\n it('should support b64 -> ab and vice versa for big data set', () => {\n const raw = getRaw(30 * 1024 * 1024)\n const b64 = b2a(raw)\n const ua = string2ua(raw)\n\n expect(ua2b64(b64_2ua(b64))).to.equal(b64)\n expect(b64_2ua(ua2b64(ua))).to.deep.eq(ua)\n }).timeout(120000)\n})\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'isomorphic-fetch';
|
|
@@ -1,81 +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
|
-
const test_utils_1 = require("../../utils/test_utils");
|
|
13
|
-
const types_1 = require("@icure/test-setup/types");
|
|
14
|
-
require("isomorphic-fetch");
|
|
15
|
-
const icc_api_1 = require("../../../icc-api");
|
|
16
|
-
const AuthenticationProvider_1 = require("../../../icc-x-api/auth/AuthenticationProvider");
|
|
17
|
-
const chai_1 = require("chai");
|
|
18
|
-
const chaiAsPromised = require("chai-as-promised");
|
|
19
|
-
const SmartAuthProvider_1 = require("../../../icc-x-api/auth/SmartAuthProvider");
|
|
20
|
-
(0, chai_1.use)(chaiAsPromised);
|
|
21
|
-
(0, test_utils_1.setLocalStorage)(fetch);
|
|
22
|
-
let host;
|
|
23
|
-
let userDetails;
|
|
24
|
-
(0, test_utils_1.describeNoLite)('Authentication providers should be able to switch group', function () {
|
|
25
|
-
before(function () {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
this.timeout(600000);
|
|
28
|
-
const initializer = yield (0, test_utils_1.getEnvironmentInitializer)();
|
|
29
|
-
const env = yield initializer.execute((0, types_1.getEnvVariables)());
|
|
30
|
-
host = env.iCureUrl;
|
|
31
|
-
userDetails = yield (0, test_utils_1.createUserInMultipleGroups)(env);
|
|
32
|
-
console.log('Users created');
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
const authenticationProviders = [
|
|
36
|
-
['Basic', () => Promise.resolve(new AuthenticationProvider_1.BasicAuthenticationProvider(userDetails.userLogin, userDetails.userPw12))],
|
|
37
|
-
[
|
|
38
|
-
'Jwt',
|
|
39
|
-
() => Promise.resolve(new AuthenticationProvider_1.JwtAuthenticationProvider(new icc_api_1.IccAuthApi(host, {}, new AuthenticationProvider_1.NoAuthenticationProvider(), fetch), userDetails.userLogin, userDetails.userPw12)),
|
|
40
|
-
],
|
|
41
|
-
[
|
|
42
|
-
'Ensemble',
|
|
43
|
-
() => Promise.resolve(new AuthenticationProvider_1.EnsembleAuthenticationProvider(new icc_api_1.IccAuthApi(host, {}, new AuthenticationProvider_1.NoAuthenticationProvider(), fetch), userDetails.userLogin, userDetails.userPw12)),
|
|
44
|
-
],
|
|
45
|
-
[
|
|
46
|
-
'Smart',
|
|
47
|
-
() => SmartAuthProvider_1.SmartAuthProvider.initialise(new icc_api_1.IccAuthApi(host, {}, new AuthenticationProvider_1.NoAuthenticationProvider(), fetch), userDetails.userLogin, {
|
|
48
|
-
getSecret(acceptedSecrets, previousAttempts) {
|
|
49
|
-
(0, chai_1.expect)(acceptedSecrets).to.include(SmartAuthProvider_1.AuthSecretType.PASSWORD);
|
|
50
|
-
return Promise.resolve({ value: userDetails.userPw12, secretType: SmartAuthProvider_1.AuthSecretType.PASSWORD });
|
|
51
|
-
},
|
|
52
|
-
}),
|
|
53
|
-
],
|
|
54
|
-
];
|
|
55
|
-
for (const [providerType, providerFactory] of authenticationProviders) {
|
|
56
|
-
it(`should be able to switch to another group if the username-password is the same in the new group (${providerType})`, () => __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const provider = yield providerFactory();
|
|
58
|
-
const initialUserApi = new icc_api_1.IccUserApi(host, {}, provider, fetch);
|
|
59
|
-
const initialUser = yield initialUserApi.getCurrentUser();
|
|
60
|
-
(0, chai_1.expect)(initialUser.id).to.be.oneOf([userDetails.user1.id, userDetails.user2.id]);
|
|
61
|
-
const matches = yield initialUserApi.getMatchingUsers();
|
|
62
|
-
(0, chai_1.expect)(matches.map((x) => x.userId)).to.have.members([userDetails.user1.id, userDetails.user2.id]);
|
|
63
|
-
const switchedToGroup2Provider = yield provider.switchGroup(userDetails.group2.id, matches);
|
|
64
|
-
const userApiGroup2 = new icc_api_1.IccUserApi(host, {}, switchedToGroup2Provider, fetch);
|
|
65
|
-
const userGroup2 = yield userApiGroup2.getCurrentUser();
|
|
66
|
-
(0, chai_1.expect)(userGroup2.id).to.equal(userDetails.user2.id);
|
|
67
|
-
const switchedToGroup1Provider = yield switchedToGroup2Provider.switchGroup(userDetails.group1.id, matches);
|
|
68
|
-
const userApiGroup1 = new icc_api_1.IccUserApi(host, {}, switchedToGroup1Provider, fetch);
|
|
69
|
-
const userGroup1 = yield userApiGroup1.getCurrentUser();
|
|
70
|
-
(0, chai_1.expect)(userGroup1.id).to.equal(userDetails.user1.id);
|
|
71
|
-
}));
|
|
72
|
-
it(`should not be able to switch to another group if the username-password is different in the new group (${providerType})`, () => __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
const provider = yield providerFactory();
|
|
74
|
-
const initialUserApi = new icc_api_1.IccUserApi(host, {}, provider, fetch);
|
|
75
|
-
const matches = yield initialUserApi.getMatchingUsers();
|
|
76
|
-
(0, chai_1.expect)(matches.map((x) => x.userId)).to.not.contain(userDetails.user3.id);
|
|
77
|
-
yield (0, chai_1.expect)(provider.switchGroup(userDetails.group3.id, matches)).to.be.rejected;
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
//# sourceMappingURL=group-switch-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"group-switch-test.js","sourceRoot":"","sources":["../../../../test/icc-x-api/auth/group-switch-test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createUserInMultipleGroups,\n describeNoLite,\n getEnvironmentInitializer,\n setLocalStorage,\n UserInManyGroupsDetails,\n} from '../../utils/test_utils'\nimport { getEnvVariables } from '@icure/test-setup/types'\nimport 'isomorphic-fetch'\nimport { IccAuthApi, IccUserApi } from '../../../icc-api'\nimport {\n AuthenticationProvider,\n BasicAuthenticationProvider,\n EnsembleAuthenticationProvider,\n JwtAuthenticationProvider,\n NoAuthenticationProvider,\n} from '../../../icc-x-api/auth/AuthenticationProvider'\nimport { expect, use as chaiUse } from 'chai'\nimport * as chaiAsPromised from 'chai-as-promised'\nimport { AuthSecretDetails, AuthSecretType, SmartAuthProvider } from '../../../icc-x-api/auth/SmartAuthProvider'\n\nchaiUse(chaiAsPromised)\n\nsetLocalStorage(fetch)\n\nlet host: string\nlet userDetails: UserInManyGroupsDetails\n\ndescribeNoLite('Authentication providers should be able to switch group', function () {\n before(async function () {\n this.timeout(600000)\n const initializer = await getEnvironmentInitializer()\n const env = await initializer.execute(getEnvVariables())\n host = env.iCureUrl\n userDetails = await createUserInMultipleGroups(env)\n console.log('Users created')\n })\n\n const authenticationProviders: [string, () => Promise<AuthenticationProvider>][] = [\n ['Basic', () => Promise.resolve(new BasicAuthenticationProvider(userDetails.userLogin, userDetails.userPw12))],\n [\n 'Jwt',\n () =>\n Promise.resolve(\n new JwtAuthenticationProvider(new IccAuthApi(host, {}, new NoAuthenticationProvider(), fetch), userDetails.userLogin, userDetails.userPw12)\n ),\n ],\n [\n 'Ensemble',\n () =>\n Promise.resolve(\n new EnsembleAuthenticationProvider(\n new IccAuthApi(host, {}, new NoAuthenticationProvider(), fetch),\n userDetails.userLogin,\n userDetails.userPw12\n )\n ),\n ],\n [\n 'Smart',\n () =>\n SmartAuthProvider.initialise(new IccAuthApi(host, {}, new NoAuthenticationProvider(), fetch), userDetails.userLogin, {\n getSecret(acceptedSecrets: AuthSecretType[], previousAttempts: AuthSecretDetails[]): Promise<AuthSecretDetails> {\n expect(acceptedSecrets).to.include(AuthSecretType.PASSWORD)\n return Promise.resolve({ value: userDetails.userPw12, secretType: AuthSecretType.PASSWORD })\n },\n }),\n ],\n ]\n\n for (const [providerType, providerFactory] of authenticationProviders) {\n it(`should be able to switch to another group if the username-password is the same in the new group (${providerType})`, async () => {\n const provider = await providerFactory()\n const initialUserApi = new IccUserApi(host, {}, provider, fetch)\n const initialUser = await initialUserApi.getCurrentUser()\n expect(initialUser.id).to.be.oneOf([userDetails.user1.id, userDetails.user2.id])\n const matches = await initialUserApi.getMatchingUsers()\n expect(matches.map((x) => x.userId)).to.have.members([userDetails.user1.id, userDetails.user2.id])\n const switchedToGroup2Provider = await provider.switchGroup(userDetails.group2.id!, matches)\n const userApiGroup2 = new IccUserApi(host, {}, switchedToGroup2Provider, fetch)\n const userGroup2 = await userApiGroup2.getCurrentUser()\n expect(userGroup2.id).to.equal(userDetails.user2.id)\n const switchedToGroup1Provider = await switchedToGroup2Provider.switchGroup(userDetails.group1.id!, matches)\n const userApiGroup1 = new IccUserApi(host, {}, switchedToGroup1Provider, fetch)\n const userGroup1 = await userApiGroup1.getCurrentUser()\n expect(userGroup1.id).to.equal(userDetails.user1.id)\n })\n\n it(`should not be able to switch to another group if the username-password is different in the new group (${providerType})`, async () => {\n const provider = await providerFactory()\n const initialUserApi = new IccUserApi(host, {}, provider, fetch)\n const matches = await initialUserApi.getMatchingUsers()\n expect(matches.map((x) => x.userId)).to.not.contain(userDetails.user3.id)\n await expect(provider.switchGroup(userDetails.group3.id!, matches)).to.be.rejected\n })\n }\n})\n"]}
|