@nmshd/transport 1.0.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/LICENSE +1 -0
- package/README.md +18 -0
- package/dist/TransportBuildInformation.d.ts +13 -0
- package/dist/TransportBuildInformation.js +25 -0
- package/dist/TransportBuildInformation.js.map +1 -0
- package/dist/core/CoreCrypto.d.ts +108 -0
- package/dist/core/CoreCrypto.js +205 -0
- package/dist/core/CoreCrypto.js.map +1 -0
- package/dist/core/CoreError.d.ts +18 -0
- package/dist/core/CoreError.js +63 -0
- package/dist/core/CoreError.js.map +1 -0
- package/dist/core/CoreIdHelper.d.ts +9 -0
- package/dist/core/CoreIdHelper.js +23 -0
- package/dist/core/CoreIdHelper.js.map +1 -0
- package/dist/core/CoreIds.d.ts +9 -0
- package/dist/core/CoreIds.js +14 -0
- package/dist/core/CoreIds.js.map +1 -0
- package/dist/core/CoreSerializable.d.ts +18 -0
- package/dist/core/CoreSerializable.js +44 -0
- package/dist/core/CoreSerializable.js.map +1 -0
- package/dist/core/CoreSerializableAsync.d.ts +18 -0
- package/dist/core/CoreSerializableAsync.js +44 -0
- package/dist/core/CoreSerializableAsync.js.map +1 -0
- package/dist/core/CoreSynchronizable.d.ts +11 -0
- package/dist/core/CoreSynchronizable.js +30 -0
- package/dist/core/CoreSynchronizable.js.map +1 -0
- package/dist/core/CoreUtil.d.ts +6 -0
- package/dist/core/CoreUtil.js +38 -0
- package/dist/core/CoreUtil.js.map +1 -0
- package/dist/core/DbCollectionNames.d.ts +11 -0
- package/dist/core/DbCollectionNames.js +16 -0
- package/dist/core/DbCollectionNames.js.map +1 -0
- package/dist/core/ICacheable.d.ts +4 -0
- package/dist/core/ICacheable.js +14 -0
- package/dist/core/ICacheable.js.map +1 -0
- package/dist/core/Transport.d.ts +47 -0
- package/dist/core/Transport.js +71 -0
- package/dist/core/Transport.js.map +1 -0
- package/dist/core/TransportContext.d.ts +8 -0
- package/dist/core/TransportContext.js +29 -0
- package/dist/core/TransportContext.js.map +1 -0
- package/dist/core/TransportController.d.ts +51 -0
- package/dist/core/TransportController.js +99 -0
- package/dist/core/TransportController.js.map +1 -0
- package/dist/core/TransportErrors.d.ts +125 -0
- package/dist/core/TransportErrors.js +255 -0
- package/dist/core/TransportErrors.js.map +1 -0
- package/dist/core/TransportLoggerFactory.d.ts +7 -0
- package/dist/core/TransportLoggerFactory.js +23 -0
- package/dist/core/TransportLoggerFactory.js.map +1 -0
- package/dist/core/backbone/AuthClient.d.ts +17 -0
- package/dist/core/backbone/AuthClient.js +47 -0
- package/dist/core/backbone/AuthClient.js.map +1 -0
- package/dist/core/backbone/Authenticator.d.ts +16 -0
- package/dist/core/backbone/Authenticator.js +62 -0
- package/dist/core/backbone/Authenticator.js.map +1 -0
- package/dist/core/backbone/BackboneIds.d.ts +11 -0
- package/dist/core/backbone/BackboneIds.js +16 -0
- package/dist/core/backbone/BackboneIds.js.map +1 -0
- package/dist/core/backbone/ClientResult.d.ts +19 -0
- package/dist/core/backbone/ClientResult.js +58 -0
- package/dist/core/backbone/ClientResult.js.map +1 -0
- package/dist/core/backbone/Paginator.d.ts +17 -0
- package/dist/core/backbone/Paginator.js +44 -0
- package/dist/core/backbone/Paginator.js.map +1 -0
- package/dist/core/backbone/PlatformError.d.ts +9 -0
- package/dist/core/backbone/PlatformError.js +3 -0
- package/dist/core/backbone/PlatformError.js.map +1 -0
- package/dist/core/backbone/PlatformParameters.d.ts +6 -0
- package/dist/core/backbone/PlatformParameters.js +3 -0
- package/dist/core/backbone/PlatformParameters.js.map +1 -0
- package/dist/core/backbone/PlatformResponse.d.ts +16 -0
- package/dist/core/backbone/PlatformResponse.js +3 -0
- package/dist/core/backbone/PlatformResponse.js.map +1 -0
- package/dist/core/backbone/RESTClient.d.ts +46 -0
- package/dist/core/backbone/RESTClient.js +425 -0
- package/dist/core/backbone/RESTClient.js.map +1 -0
- package/dist/core/backbone/RESTClientAuthenticate.d.ts +23 -0
- package/dist/core/backbone/RESTClientAuthenticate.js +72 -0
- package/dist/core/backbone/RESTClientAuthenticate.js.map +1 -0
- package/dist/core/backbone/RequestError.d.ts +24 -0
- package/dist/core/backbone/RequestError.js +101 -0
- package/dist/core/backbone/RequestError.js.map +1 -0
- package/dist/core/backbone/index.d.ts +6 -0
- package/dist/core/backbone/index.js +19 -0
- package/dist/core/backbone/index.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.js +29 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logging/logExecutionTime.d.ts +26 -0
- package/dist/core/logging/logExecutionTime.js +58 -0
- package/dist/core/logging/logExecutionTime.js.map +1 -0
- package/dist/core/types/CoreAddress.d.ts +15 -0
- package/dist/core/types/CoreAddress.js +56 -0
- package/dist/core/types/CoreAddress.js.map +1 -0
- package/dist/core/types/CoreDate.d.ts +37 -0
- package/dist/core/types/CoreDate.js +156 -0
- package/dist/core/types/CoreDate.js.map +1 -0
- package/dist/core/types/CoreHash.d.ts +37 -0
- package/dist/core/types/CoreHash.js +75 -0
- package/dist/core/types/CoreHash.js.map +1 -0
- package/dist/core/types/CoreId.d.ts +16 -0
- package/dist/core/types/CoreId.js +57 -0
- package/dist/core/types/CoreId.js.map +1 -0
- package/dist/core/types/TransportVersion.d.ts +4 -0
- package/dist/core/types/TransportVersion.js +9 -0
- package/dist/core/types/TransportVersion.js.map +1 -0
- package/dist/core/types/index.d.ts +5 -0
- package/dist/core/types/index.js +18 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/accounts/AccountController.d.ts +77 -0
- package/dist/modules/accounts/AccountController.js +337 -0
- package/dist/modules/accounts/AccountController.js.map +1 -0
- package/dist/modules/accounts/IdentityController.d.ts +21 -0
- package/dist/modules/accounts/IdentityController.js +67 -0
- package/dist/modules/accounts/IdentityController.js.map +1 -0
- package/dist/modules/accounts/IdentityUtil.d.ts +6 -0
- package/dist/modules/accounts/IdentityUtil.js +56 -0
- package/dist/modules/accounts/IdentityUtil.js.map +1 -0
- package/dist/modules/accounts/backbone/IdentityClient.d.ts +23 -0
- package/dist/modules/accounts/backbone/IdentityClient.js +15 -0
- package/dist/modules/accounts/backbone/IdentityClient.js.map +1 -0
- package/dist/modules/accounts/data/Identity.d.ts +34 -0
- package/dist/modules/accounts/data/Identity.js +69 -0
- package/dist/modules/accounts/data/Identity.js.map +1 -0
- package/dist/modules/accounts/data/IdentitySecretCredentials.d.ts +16 -0
- package/dist/modules/accounts/data/IdentitySecretCredentials.js +47 -0
- package/dist/modules/accounts/data/IdentitySecretCredentials.js.map +1 -0
- package/dist/modules/certificates/CertificateController.d.ts +14 -0
- package/dist/modules/certificates/CertificateController.js +20 -0
- package/dist/modules/certificates/CertificateController.js.map +1 -0
- package/dist/modules/certificates/CertificateIssuer.d.ts +27 -0
- package/dist/modules/certificates/CertificateIssuer.js +42 -0
- package/dist/modules/certificates/CertificateIssuer.js.map +1 -0
- package/dist/modules/certificates/CertificateValidator.d.ts +14 -0
- package/dist/modules/certificates/CertificateValidator.js +20 -0
- package/dist/modules/certificates/CertificateValidator.js.map +1 -0
- package/dist/modules/certificates/data/Certificate.d.ts +34 -0
- package/dist/modules/certificates/data/Certificate.js +65 -0
- package/dist/modules/certificates/data/Certificate.js.map +1 -0
- package/dist/modules/certificates/data/CertificateConstraint.d.ts +10 -0
- package/dist/modules/certificates/data/CertificateConstraint.js +28 -0
- package/dist/modules/certificates/data/CertificateConstraint.js.map +1 -0
- package/dist/modules/certificates/data/CertificateContent.d.ts +28 -0
- package/dist/modules/certificates/data/CertificateContent.js +70 -0
- package/dist/modules/certificates/data/CertificateContent.js.map +1 -0
- package/dist/modules/certificates/data/CertificateItem.d.ts +11 -0
- package/dist/modules/certificates/data/CertificateItem.js +29 -0
- package/dist/modules/certificates/data/CertificateItem.js.map +1 -0
- package/dist/modules/certificates/data/constraints/CertificateBorderConstraint.d.ts +29 -0
- package/dist/modules/certificates/data/constraints/CertificateBorderConstraint.js +57 -0
- package/dist/modules/certificates/data/constraints/CertificateBorderConstraint.js.map +1 -0
- package/dist/modules/certificates/data/constraints/CertificateCityConstraint.d.ts +31 -0
- package/dist/modules/certificates/data/constraints/CertificateCityConstraint.js +60 -0
- package/dist/modules/certificates/data/constraints/CertificateCityConstraint.js.map +1 -0
- package/dist/modules/certificates/data/constraints/CertificateIdentityConstraint.d.ts +9 -0
- package/dist/modules/certificates/data/constraints/CertificateIdentityConstraint.js +31 -0
- package/dist/modules/certificates/data/constraints/CertificateIdentityConstraint.js.map +1 -0
- package/dist/modules/certificates/data/constraints/CertificateTimeConstraint.d.ts +16 -0
- package/dist/modules/certificates/data/constraints/CertificateTimeConstraint.js +41 -0
- package/dist/modules/certificates/data/constraints/CertificateTimeConstraint.js.map +1 -0
- package/dist/modules/certificates/data/items/CertificateAuthorizationItem.d.ts +17 -0
- package/dist/modules/certificates/data/items/CertificateAuthorizationItem.js +39 -0
- package/dist/modules/certificates/data/items/CertificateAuthorizationItem.js.map +1 -0
- package/dist/modules/certificates/data/items/CertificateDelegateItem.d.ts +18 -0
- package/dist/modules/certificates/data/items/CertificateDelegateItem.js +46 -0
- package/dist/modules/certificates/data/items/CertificateDelegateItem.js.map +1 -0
- package/dist/modules/certificates/data/items/CertificatePrivateAttributeItem.d.ts +19 -0
- package/dist/modules/certificates/data/items/CertificatePrivateAttributeItem.js +42 -0
- package/dist/modules/certificates/data/items/CertificatePrivateAttributeItem.js.map +1 -0
- package/dist/modules/certificates/data/items/CertificatePrivateAttributeItemSource.d.ts +25 -0
- package/dist/modules/certificates/data/items/CertificatePrivateAttributeItemSource.js +55 -0
- package/dist/modules/certificates/data/items/CertificatePrivateAttributeItemSource.js.map +1 -0
- package/dist/modules/certificates/data/items/CertificatePublicAttributeItem.d.ts +14 -0
- package/dist/modules/certificates/data/items/CertificatePublicAttributeItem.js +39 -0
- package/dist/modules/certificates/data/items/CertificatePublicAttributeItem.js.map +1 -0
- package/dist/modules/certificates/data/items/CertificateRoleItem.d.ts +16 -0
- package/dist/modules/certificates/data/items/CertificateRoleItem.js +38 -0
- package/dist/modules/certificates/data/items/CertificateRoleItem.js.map +1 -0
- package/dist/modules/challenges/ChallengeController.d.ts +16 -0
- package/dist/modules/challenges/ChallengeController.js +123 -0
- package/dist/modules/challenges/ChallengeController.js.map +1 -0
- package/dist/modules/challenges/backbone/ChallengeAuthClient.d.ts +18 -0
- package/dist/modules/challenges/backbone/ChallengeAuthClient.js +14 -0
- package/dist/modules/challenges/backbone/ChallengeAuthClient.js.map +1 -0
- package/dist/modules/challenges/backbone/ChallengeClient.d.ts +6 -0
- package/dist/modules/challenges/backbone/ChallengeClient.js +11 -0
- package/dist/modules/challenges/backbone/ChallengeClient.js.map +1 -0
- package/dist/modules/challenges/data/Challenge.d.ts +22 -0
- package/dist/modules/challenges/data/Challenge.js +59 -0
- package/dist/modules/challenges/data/Challenge.js.map +1 -0
- package/dist/modules/challenges/data/ChallengeSigned.d.ts +18 -0
- package/dist/modules/challenges/data/ChallengeSigned.js +50 -0
- package/dist/modules/challenges/data/ChallengeSigned.js.map +1 -0
- package/dist/modules/devices/DeviceController.d.ts +27 -0
- package/dist/modules/devices/DeviceController.js +120 -0
- package/dist/modules/devices/DeviceController.js.map +1 -0
- package/dist/modules/devices/DeviceSecretController.d.ts +36 -0
- package/dist/modules/devices/DeviceSecretController.js +163 -0
- package/dist/modules/devices/DeviceSecretController.js.map +1 -0
- package/dist/modules/devices/DevicesController.d.ts +20 -0
- package/dist/modules/devices/DevicesController.js +96 -0
- package/dist/modules/devices/DevicesController.js.map +1 -0
- package/dist/modules/devices/backbone/BackbonePostDevices.d.ts +11 -0
- package/dist/modules/devices/backbone/BackbonePostDevices.js +3 -0
- package/dist/modules/devices/backbone/BackbonePostDevices.js.map +1 -0
- package/dist/modules/devices/backbone/DeviceAuthClient.d.ts +18 -0
- package/dist/modules/devices/backbone/DeviceAuthClient.js +21 -0
- package/dist/modules/devices/backbone/DeviceAuthClient.js.map +1 -0
- package/dist/modules/devices/backbone/DeviceClient.d.ts +7 -0
- package/dist/modules/devices/backbone/DeviceClient.js +15 -0
- package/dist/modules/devices/backbone/DeviceClient.js.map +1 -0
- package/dist/modules/devices/local/Device.d.ts +46 -0
- package/dist/modules/devices/local/Device.js +115 -0
- package/dist/modules/devices/local/Device.js.map +1 -0
- package/dist/modules/devices/local/DeviceSecretCredentials.d.ts +12 -0
- package/dist/modules/devices/local/DeviceSecretCredentials.js +40 -0
- package/dist/modules/devices/local/DeviceSecretCredentials.js.map +1 -0
- package/dist/modules/devices/local/SendDeviceParameters.d.ts +13 -0
- package/dist/modules/devices/local/SendDeviceParameters.js +43 -0
- package/dist/modules/devices/local/SendDeviceParameters.js.map +1 -0
- package/dist/modules/devices/transmission/DeviceSharedSecret.d.ts +33 -0
- package/dist/modules/devices/transmission/DeviceSharedSecret.js +90 -0
- package/dist/modules/devices/transmission/DeviceSharedSecret.js.map +1 -0
- package/dist/modules/files/FileController.d.ts +25 -0
- package/dist/modules/files/FileController.js +196 -0
- package/dist/modules/files/FileController.js.map +1 -0
- package/dist/modules/files/backbone/BackboneGetFiles.d.ts +21 -0
- package/dist/modules/files/backbone/BackboneGetFiles.js +3 -0
- package/dist/modules/files/backbone/BackboneGetFiles.js.map +1 -0
- package/dist/modules/files/backbone/BackbonePostFiles.d.ts +25 -0
- package/dist/modules/files/backbone/BackbonePostFiles.js +3 -0
- package/dist/modules/files/backbone/BackbonePostFiles.js.map +1 -0
- package/dist/modules/files/backbone/FileClient.d.ts +12 -0
- package/dist/modules/files/backbone/FileClient.js +23 -0
- package/dist/modules/files/backbone/FileClient.js.map +1 -0
- package/dist/modules/files/local/CachedFile.d.ts +47 -0
- package/dist/modules/files/local/CachedFile.js +140 -0
- package/dist/modules/files/local/CachedFile.js.map +1 -0
- package/dist/modules/files/local/File.d.ts +27 -0
- package/dist/modules/files/local/File.js +88 -0
- package/dist/modules/files/local/File.js.map +1 -0
- package/dist/modules/files/local/SendFileParameters.d.ts +23 -0
- package/dist/modules/files/local/SendFileParameters.js +65 -0
- package/dist/modules/files/local/SendFileParameters.js.map +1 -0
- package/dist/modules/files/transmission/FileMetadata.d.ts +24 -0
- package/dist/modules/files/transmission/FileMetadata.js +69 -0
- package/dist/modules/files/transmission/FileMetadata.js.map +1 -0
- package/dist/modules/files/transmission/FileReference.d.ts +15 -0
- package/dist/modules/files/transmission/FileReference.js +66 -0
- package/dist/modules/files/transmission/FileReference.js.map +1 -0
- package/dist/modules/index.d.ts +110 -0
- package/dist/modules/index.js +123 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/messages/MessageController.d.ts +29 -0
- package/dist/modules/messages/MessageController.js +316 -0
- package/dist/modules/messages/MessageController.js.map +1 -0
- package/dist/modules/messages/backbone/BackboneGetMessages.d.ts +25 -0
- package/dist/modules/messages/backbone/BackboneGetMessages.js +3 -0
- package/dist/modules/messages/backbone/BackboneGetMessages.js.map +1 -0
- package/dist/modules/messages/backbone/BackbonePostMessages.d.ts +16 -0
- package/dist/modules/messages/backbone/BackbonePostMessages.js +3 -0
- package/dist/modules/messages/backbone/BackbonePostMessages.js.map +1 -0
- package/dist/modules/messages/backbone/MessageClient.d.ts +12 -0
- package/dist/modules/messages/backbone/MessageClient.js +23 -0
- package/dist/modules/messages/backbone/MessageClient.js.map +1 -0
- package/dist/modules/messages/local/CachedMessage.d.ts +23 -0
- package/dist/modules/messages/local/CachedMessage.js +67 -0
- package/dist/modules/messages/local/CachedMessage.js.map +1 -0
- package/dist/modules/messages/local/Message.d.ts +26 -0
- package/dist/modules/messages/local/Message.js +87 -0
- package/dist/modules/messages/local/Message.js.map +1 -0
- package/dist/modules/messages/local/SendMessageParameters.d.ts +15 -0
- package/dist/modules/messages/local/SendMessageParameters.js +44 -0
- package/dist/modules/messages/local/SendMessageParameters.js.map +1 -0
- package/dist/modules/messages/transmission/MessageEnvelope.d.ts +24 -0
- package/dist/modules/messages/transmission/MessageEnvelope.js +81 -0
- package/dist/modules/messages/transmission/MessageEnvelope.js.map +1 -0
- package/dist/modules/messages/transmission/MessageEnvelopeRecipient.d.ts +16 -0
- package/dist/modules/messages/transmission/MessageEnvelopeRecipient.js +47 -0
- package/dist/modules/messages/transmission/MessageEnvelopeRecipient.js.map +1 -0
- package/dist/modules/messages/transmission/MessagePlain.d.ts +29 -0
- package/dist/modules/messages/transmission/MessagePlain.js +68 -0
- package/dist/modules/messages/transmission/MessagePlain.js.map +1 -0
- package/dist/modules/messages/transmission/MessageSignature.d.ts +11 -0
- package/dist/modules/messages/transmission/MessageSignature.js +36 -0
- package/dist/modules/messages/transmission/MessageSignature.js.map +1 -0
- package/dist/modules/messages/transmission/MessageSigned.d.ts +15 -0
- package/dist/modules/messages/transmission/MessageSigned.js +43 -0
- package/dist/modules/messages/transmission/MessageSigned.js.map +1 -0
- package/dist/modules/relationshipTemplates/RelationshipTemplateController.d.ts +26 -0
- package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +156 -0
- package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -0
- package/dist/modules/relationshipTemplates/backbone/BackboneGetRelationshipTemplates.d.ts +17 -0
- package/dist/modules/relationshipTemplates/backbone/BackboneGetRelationshipTemplates.js +3 -0
- package/dist/modules/relationshipTemplates/backbone/BackboneGetRelationshipTemplates.js.map +1 -0
- package/dist/modules/relationshipTemplates/backbone/BackbonePostRelationshipTemplates.d.ts +9 -0
- package/dist/modules/relationshipTemplates/backbone/BackbonePostRelationshipTemplates.js +3 -0
- package/dist/modules/relationshipTemplates/backbone/BackbonePostRelationshipTemplates.js.map +1 -0
- package/dist/modules/relationshipTemplates/backbone/RelationshipTemplateClient.d.ts +11 -0
- package/dist/modules/relationshipTemplates/backbone/RelationshipTemplateClient.js +20 -0
- package/dist/modules/relationshipTemplates/backbone/RelationshipTemplateClient.js.map +1 -0
- package/dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.d.ts +29 -0
- package/dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.js +80 -0
- package/dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.js.map +1 -0
- package/dist/modules/relationshipTemplates/local/RelationshipTemplate.d.ts +26 -0
- package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js +85 -0
- package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js.map +1 -0
- package/dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.d.ts +14 -0
- package/dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.js +44 -0
- package/dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.js.map +1 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.d.ts +16 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.js +45 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.js.map +1 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.d.ts +19 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.js +61 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.js.map +1 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.d.ts +12 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js +39 -0
- package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js.map +1 -0
- package/dist/modules/relationships/RelationshipSecretController.d.ts +31 -0
- package/dist/modules/relationships/RelationshipSecretController.js +161 -0
- package/dist/modules/relationships/RelationshipSecretController.js.map +1 -0
- package/dist/modules/relationships/RelationshipsController.d.ts +47 -0
- package/dist/modules/relationships/RelationshipsController.js +472 -0
- package/dist/modules/relationships/RelationshipsController.js.map +1 -0
- package/dist/modules/relationships/backbone/BackboneGetRelationships.d.ts +18 -0
- package/dist/modules/relationships/backbone/BackboneGetRelationships.js +3 -0
- package/dist/modules/relationships/backbone/BackboneGetRelationships.js.map +1 -0
- package/dist/modules/relationships/backbone/BackboneGetRelationshipsChanges.d.ts +23 -0
- package/dist/modules/relationships/backbone/BackboneGetRelationshipsChanges.js +3 -0
- package/dist/modules/relationships/backbone/BackboneGetRelationshipsChanges.js.map +1 -0
- package/dist/modules/relationships/backbone/BackbonePostRelationshipsChanges.d.ts +8 -0
- package/dist/modules/relationships/backbone/BackbonePostRelationshipsChanges.js +3 -0
- package/dist/modules/relationships/backbone/BackbonePostRelationshipsChanges.js.map +1 -0
- package/dist/modules/relationships/backbone/RelationshipClient.d.ts +17 -0
- package/dist/modules/relationships/backbone/RelationshipClient.js +42 -0
- package/dist/modules/relationships/backbone/RelationshipClient.js.map +1 -0
- package/dist/modules/relationships/local/CachedRelationship.d.ts +18 -0
- package/dist/modules/relationships/local/CachedRelationship.js +53 -0
- package/dist/modules/relationships/local/CachedRelationship.js.map +1 -0
- package/dist/modules/relationships/local/Relationship.d.ts +37 -0
- package/dist/modules/relationships/local/Relationship.js +140 -0
- package/dist/modules/relationships/local/Relationship.js.map +1 -0
- package/dist/modules/relationships/local/SendRelationshipParameters.d.ts +13 -0
- package/dist/modules/relationships/local/SendRelationshipParameters.js +39 -0
- package/dist/modules/relationships/local/SendRelationshipParameters.js.map +1 -0
- package/dist/modules/relationships/transmission/RelationshipStatus.d.ts +8 -0
- package/dist/modules/relationships/transmission/RelationshipStatus.js +13 -0
- package/dist/modules/relationships/transmission/RelationshipStatus.js.map +1 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChange.d.ts +27 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChange.js +72 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChange.js.map +1 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeRequest.d.ts +20 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeRequest.js +53 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeRequest.js.map +1 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeResponse.d.ts +20 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeResponse.js +53 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeResponse.js.map +1 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeStatus.d.ts +6 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeStatus.js +11 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeStatus.js.map +1 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeType.d.ts +5 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeType.js +10 -0
- package/dist/modules/relationships/transmission/changes/RelationshipChangeType.js.map +1 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestCipher.d.ts +13 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestCipher.js +42 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestCipher.js.map +1 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestContent.d.ts +15 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestContent.js +44 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestContent.js.map +1 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestSigned.d.ts +14 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestSigned.js +44 -0
- package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestSigned.js.map +1 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseCipher.d.ts +13 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseCipher.js +42 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseCipher.js.map +1 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseContent.d.ts +12 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseContent.js +38 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseContent.js.map +1 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseSigned.d.ts +14 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseSigned.js +44 -0
- package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseSigned.js.map +1 -0
- package/dist/modules/secrets/SecretController.d.ts +39 -0
- package/dist/modules/secrets/SecretController.js +168 -0
- package/dist/modules/secrets/SecretController.js.map +1 -0
- package/dist/modules/secrets/data/SecretContainerCipher.d.ts +25 -0
- package/dist/modules/secrets/data/SecretContainerCipher.js +87 -0
- package/dist/modules/secrets/data/SecretContainerCipher.js.map +1 -0
- package/dist/modules/secrets/data/SecretContainerPlain.d.ts +25 -0
- package/dist/modules/secrets/data/SecretContainerPlain.js +76 -0
- package/dist/modules/secrets/data/SecretContainerPlain.js.map +1 -0
- package/dist/modules/sync/ChangedItems.d.ts +9 -0
- package/dist/modules/sync/ChangedItems.js +17 -0
- package/dist/modules/sync/ChangedItems.js.map +1 -0
- package/dist/modules/sync/DatawalletModificationMapper.d.ts +7 -0
- package/dist/modules/sync/DatawalletModificationMapper.js +62 -0
- package/dist/modules/sync/DatawalletModificationMapper.js.map +1 -0
- package/dist/modules/sync/DatawalletModificationsProcessor.d.ts +21 -0
- package/dist/modules/sync/DatawalletModificationsProcessor.js +111 -0
- package/dist/modules/sync/DatawalletModificationsProcessor.js.map +1 -0
- package/dist/modules/sync/ExternalEventsProcessor.d.ts +19 -0
- package/dist/modules/sync/ExternalEventsProcessor.js +83 -0
- package/dist/modules/sync/ExternalEventsProcessor.js.map +1 -0
- package/dist/modules/sync/SyncController.d.ts +37 -0
- package/dist/modules/sync/SyncController.js +214 -0
- package/dist/modules/sync/SyncController.js.map +1 -0
- package/dist/modules/sync/SynchronizedCollection.d.ts +18 -0
- package/dist/modules/sync/SynchronizedCollection.js +163 -0
- package/dist/modules/sync/SynchronizedCollection.js.map +1 -0
- package/dist/modules/sync/WhatToSync.d.ts +1 -0
- package/dist/modules/sync/WhatToSync.js +3 -0
- package/dist/modules/sync/WhatToSync.js.map +1 -0
- package/dist/modules/sync/backbone/BackboneDatawalletModification.d.ts +11 -0
- package/dist/modules/sync/backbone/BackboneDatawalletModification.js +3 -0
- package/dist/modules/sync/backbone/BackboneDatawalletModification.js.map +1 -0
- package/dist/modules/sync/backbone/BackboneExternalEvent.d.ts +8 -0
- package/dist/modules/sync/backbone/BackboneExternalEvent.js +3 -0
- package/dist/modules/sync/backbone/BackboneExternalEvent.js.map +1 -0
- package/dist/modules/sync/backbone/BackboneSyncRun.d.ts +9 -0
- package/dist/modules/sync/backbone/BackboneSyncRun.js +3 -0
- package/dist/modules/sync/backbone/BackboneSyncRun.js.map +1 -0
- package/dist/modules/sync/backbone/CreateDatawalletModifications.d.ts +19 -0
- package/dist/modules/sync/backbone/CreateDatawalletModifications.js +3 -0
- package/dist/modules/sync/backbone/CreateDatawalletModifications.js.map +1 -0
- package/dist/modules/sync/backbone/FinalizeSyncRun.d.ts +23 -0
- package/dist/modules/sync/backbone/FinalizeSyncRun.js +3 -0
- package/dist/modules/sync/backbone/FinalizeSyncRun.js.map +1 -0
- package/dist/modules/sync/backbone/GetDatawalletModifications.d.ts +3 -0
- package/dist/modules/sync/backbone/GetDatawalletModifications.js +3 -0
- package/dist/modules/sync/backbone/GetDatawalletModifications.js.map +1 -0
- package/dist/modules/sync/backbone/StartSyncRun.d.ts +9 -0
- package/dist/modules/sync/backbone/StartSyncRun.js +9 -0
- package/dist/modules/sync/backbone/StartSyncRun.js.map +1 -0
- package/dist/modules/sync/backbone/SyncClient.d.ts +15 -0
- package/dist/modules/sync/backbone/SyncClient.js +23 -0
- package/dist/modules/sync/backbone/SyncClient.js.map +1 -0
- package/dist/modules/sync/local/DatawalletModification.d.ts +30 -0
- package/dist/modules/sync/local/DatawalletModification.js +71 -0
- package/dist/modules/sync/local/DatawalletModification.js.map +1 -0
- package/dist/modules/tokens/AnonymousTokenController.d.ts +11 -0
- package/dist/modules/tokens/AnonymousTokenController.js +47 -0
- package/dist/modules/tokens/AnonymousTokenController.js.map +1 -0
- package/dist/modules/tokens/TokenController.d.ts +24 -0
- package/dist/modules/tokens/TokenController.js +137 -0
- package/dist/modules/tokens/TokenController.js.map +1 -0
- package/dist/modules/tokens/backbone/AnonymousTokenClient.d.ts +6 -0
- package/dist/modules/tokens/backbone/AnonymousTokenClient.js +11 -0
- package/dist/modules/tokens/backbone/AnonymousTokenClient.js.map +1 -0
- package/dist/modules/tokens/backbone/BackboneGetTokens.d.ts +11 -0
- package/dist/modules/tokens/backbone/BackboneGetTokens.js +3 -0
- package/dist/modules/tokens/backbone/BackboneGetTokens.js.map +1 -0
- package/dist/modules/tokens/backbone/BackbonePostTokens.d.ts +9 -0
- package/dist/modules/tokens/backbone/BackbonePostTokens.js +3 -0
- package/dist/modules/tokens/backbone/BackbonePostTokens.js.map +1 -0
- package/dist/modules/tokens/backbone/TokenClient.d.ts +11 -0
- package/dist/modules/tokens/backbone/TokenClient.js +20 -0
- package/dist/modules/tokens/backbone/TokenClient.js.map +1 -0
- package/dist/modules/tokens/local/CachedToken.d.ts +18 -0
- package/dist/modules/tokens/local/CachedToken.js +53 -0
- package/dist/modules/tokens/local/CachedToken.js.map +1 -0
- package/dist/modules/tokens/local/SendTokenParameters.d.ts +14 -0
- package/dist/modules/tokens/local/SendTokenParameters.js +43 -0
- package/dist/modules/tokens/local/SendTokenParameters.js.map +1 -0
- package/dist/modules/tokens/local/Token.d.ts +28 -0
- package/dist/modules/tokens/local/Token.js +91 -0
- package/dist/modules/tokens/local/Token.js.map +1 -0
- package/dist/modules/tokens/transmission/TokenContentDeviceSharedSecret.d.ts +10 -0
- package/dist/modules/tokens/transmission/TokenContentDeviceSharedSecret.js +34 -0
- package/dist/modules/tokens/transmission/TokenContentDeviceSharedSecret.js.map +1 -0
- package/dist/modules/tokens/transmission/TokenContentFile.d.ts +12 -0
- package/dist/modules/tokens/transmission/TokenContentFile.js +39 -0
- package/dist/modules/tokens/transmission/TokenContentFile.js.map +1 -0
- package/dist/modules/tokens/transmission/TokenContentRelationshipTemplate.d.ts +12 -0
- package/dist/modules/tokens/transmission/TokenContentRelationshipTemplate.js +39 -0
- package/dist/modules/tokens/transmission/TokenContentRelationshipTemplate.js.map +1 -0
- package/dist/modules/tokens/transmission/TokenReference.d.ts +14 -0
- package/dist/modules/tokens/transmission/TokenReference.js +71 -0
- package/dist/modules/tokens/transmission/TokenReference.js.map +1 -0
- package/dist/util/PasswordGenerator.d.ts +28 -0
- package/dist/util/PasswordGenerator.js +179 -0
- package/dist/util/PasswordGenerator.js.map +1 -0
- package/dist/util/Random.d.ts +50 -0
- package/dist/util/Random.js +129 -0
- package/dist/util/Random.js.map +1 -0
- package/dist/util/index.d.ts +2 -0
- package/dist/util/index.js +15 -0
- package/dist/util/index.js.map +1 -0
- package/lib-web/nmshd.transport.js +54733 -0
- package/lib-web/nmshd.transport.js.map +1 -0
- package/lib-web/nmshd.transport.min.js +3 -0
- package/lib-web/nmshd.transport.min.js.map +1 -0
- package/package.json +109 -0
- package/ui5.yaml +9 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecretController = exports.SecretBaseKeyType = void 0;
|
|
4
|
+
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
5
|
+
const crypto_1 = require("@nmshd/crypto");
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
const DbCollectionNames_1 = require("../../core/DbCollectionNames");
|
|
8
|
+
const TransportController_1 = require("../../core/TransportController");
|
|
9
|
+
const DeviceSecretController_1 = require("../devices/DeviceSecretController");
|
|
10
|
+
const SecretContainerCipher_1 = require("./data/SecretContainerCipher");
|
|
11
|
+
const SecretContainerPlain_1 = require("./data/SecretContainerPlain");
|
|
12
|
+
var SecretBaseKeyType;
|
|
13
|
+
(function (SecretBaseKeyType) {
|
|
14
|
+
SecretBaseKeyType["Random"] = "random";
|
|
15
|
+
SecretBaseKeyType["Password"] = "password";
|
|
16
|
+
SecretBaseKeyType["External"] = "external";
|
|
17
|
+
})(SecretBaseKeyType = exports.SecretBaseKeyType || (exports.SecretBaseKeyType = {}));
|
|
18
|
+
/**
|
|
19
|
+
* The SecretController which acts as a single touchpoint to access any secret within the runtime.
|
|
20
|
+
* Each access can be audited.
|
|
21
|
+
*/
|
|
22
|
+
class SecretController extends TransportController_1.TransportController {
|
|
23
|
+
constructor(parent, name = TransportController_1.ControllerName.Secret) {
|
|
24
|
+
super(name, parent);
|
|
25
|
+
this.nonce = 0;
|
|
26
|
+
}
|
|
27
|
+
async init() {
|
|
28
|
+
await super.init();
|
|
29
|
+
this.secrets = await this.parent.getSynchronizedCollection(DbCollectionNames_1.DbCollectionNames.Secrets);
|
|
30
|
+
const lastNonce = await this.parent.info.get(SecretController.secretNonceKey);
|
|
31
|
+
if (lastNonce) {
|
|
32
|
+
this.nonce = lastNonce;
|
|
33
|
+
}
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
async storeSecret(secret, name, description = "", validTo) {
|
|
37
|
+
const plainString = secret.serialize();
|
|
38
|
+
const plainBuffer = crypto_1.CoreBuffer.fromUtf8(plainString);
|
|
39
|
+
const nonce = await this.increaseNonce();
|
|
40
|
+
const encryptionKey = await core_1.CoreCrypto.deriveKeyFromBase(await this.getBaseKey(), nonce, SecretController.secretContext);
|
|
41
|
+
const cipher = await core_1.CoreCrypto.encrypt(plainBuffer, encryptionKey);
|
|
42
|
+
const createdAt = core_1.CoreDate.utc();
|
|
43
|
+
const secretContainerInterface = {
|
|
44
|
+
cipher: cipher,
|
|
45
|
+
createdAt: createdAt,
|
|
46
|
+
name: name,
|
|
47
|
+
description: description,
|
|
48
|
+
id: await core_1.TransportIds.secret.generate(),
|
|
49
|
+
nonce: nonce,
|
|
50
|
+
validFrom: createdAt,
|
|
51
|
+
validTo: validTo,
|
|
52
|
+
active: true
|
|
53
|
+
};
|
|
54
|
+
const container = await SecretContainerCipher_1.SecretContainerCipher.from(secretContainerInterface);
|
|
55
|
+
this.log.trace(`Created secret id:${container.id} name:${container.name} on ${container.createdAt.toISOString()}.`);
|
|
56
|
+
await this.secrets.create(container);
|
|
57
|
+
return container;
|
|
58
|
+
}
|
|
59
|
+
async loadSecretsByName(name) {
|
|
60
|
+
const secrets = await this.secrets.find({ name: name });
|
|
61
|
+
const plainSecrets = [];
|
|
62
|
+
for (const secretObj of secrets) {
|
|
63
|
+
const secret = await SecretContainerCipher_1.SecretContainerCipher.from(secretObj);
|
|
64
|
+
const plainSecret = await this.loadSecretById(secret.id);
|
|
65
|
+
if (plainSecret) {
|
|
66
|
+
plainSecrets.push(plainSecret);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return plainSecrets;
|
|
70
|
+
}
|
|
71
|
+
async loadActiveSecretByName(name) {
|
|
72
|
+
const secret = await this.getActiveSecretContainerByName(name);
|
|
73
|
+
if (!secret)
|
|
74
|
+
return;
|
|
75
|
+
const plainSecret = await this.loadSecretById(secret.id);
|
|
76
|
+
return plainSecret;
|
|
77
|
+
}
|
|
78
|
+
async getActiveSecretContainerByName(name) {
|
|
79
|
+
const secrets = await this.secrets.find({ name: name, active: true });
|
|
80
|
+
if (!secrets.length)
|
|
81
|
+
return;
|
|
82
|
+
if (secrets.length > 1) {
|
|
83
|
+
this.log.warn(`More than one active secret has been found for secret name '${name}'.`);
|
|
84
|
+
}
|
|
85
|
+
const secret = await SecretContainerCipher_1.SecretContainerCipher.from(secrets[0]);
|
|
86
|
+
return secret;
|
|
87
|
+
}
|
|
88
|
+
async succeedSecretWithName(secret, name, description = "", validTo) {
|
|
89
|
+
const oldSecret = await this.secrets.findOne({ name: name, active: true });
|
|
90
|
+
if (oldSecret) {
|
|
91
|
+
const updatedOldSecret = await SecretContainerCipher_1.SecretContainerCipher.from(oldSecret);
|
|
92
|
+
updatedOldSecret.validTo = core_1.CoreDate.utc();
|
|
93
|
+
updatedOldSecret.active = false;
|
|
94
|
+
await this.secrets.update(oldSecret, updatedOldSecret);
|
|
95
|
+
}
|
|
96
|
+
return await this.storeSecret(secret, name, description, validTo);
|
|
97
|
+
}
|
|
98
|
+
async decryptSecret(secret) {
|
|
99
|
+
const baseKey = await this.getBaseKey();
|
|
100
|
+
const decryptionKey = await core_1.CoreCrypto.deriveKeyFromBase(baseKey, secret.nonce ? secret.nonce : 0, SecretController.secretContext);
|
|
101
|
+
const plainBuffer = await core_1.CoreCrypto.decrypt(secret.cipher, decryptionKey);
|
|
102
|
+
const plainString = plainBuffer.toUtf8();
|
|
103
|
+
const decryptedSecret = await ts_serval_1.SerializableAsync.deserializeUnknown(plainString);
|
|
104
|
+
const plainSecret = await SecretContainerPlain_1.SecretContainerPlain.from({
|
|
105
|
+
id: secret.id,
|
|
106
|
+
createdAt: secret.createdAt,
|
|
107
|
+
description: secret.description,
|
|
108
|
+
nonce: secret.nonce,
|
|
109
|
+
name: secret.name,
|
|
110
|
+
secret: decryptedSecret,
|
|
111
|
+
active: secret.active,
|
|
112
|
+
validFrom: secret.validFrom,
|
|
113
|
+
validTo: secret.validTo
|
|
114
|
+
});
|
|
115
|
+
this.log.trace(`Accessed secret id:${plainSecret.id} name:${plainSecret.name} on ${core_1.CoreDate.utc().toISOString()}.`);
|
|
116
|
+
return plainSecret;
|
|
117
|
+
}
|
|
118
|
+
async loadSecretById(id) {
|
|
119
|
+
const secretObj = await this.secrets.findOne({ id: id.toString() });
|
|
120
|
+
if (!secretObj)
|
|
121
|
+
return;
|
|
122
|
+
const secret = await SecretContainerCipher_1.SecretContainerCipher.from(secretObj);
|
|
123
|
+
return await this.decryptSecret(secret);
|
|
124
|
+
}
|
|
125
|
+
async deleteSecretById(id) {
|
|
126
|
+
const secretObj = await this.secrets.findOne({ id: id.toString() });
|
|
127
|
+
if (!secretObj) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
await this.secrets.delete({ id: id });
|
|
131
|
+
this.log.trace(`Deleted secret id:${secretObj.id} name:${secretObj.name} on ${core_1.CoreDate.utc().toISOString()}.`);
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
async createExchangeKey(name = "", description = "", validTo) {
|
|
135
|
+
const exchangeKeypair = await core_1.CoreCrypto.generateExchangeKeypair();
|
|
136
|
+
const secretContainer = await this.storeSecret(exchangeKeypair, name, description, validTo);
|
|
137
|
+
// TODO: JSSNMSHDD-2485 (wipe private key)
|
|
138
|
+
return [exchangeKeypair.publicKey, secretContainer];
|
|
139
|
+
}
|
|
140
|
+
async getBaseKey() {
|
|
141
|
+
if (this.baseKey) {
|
|
142
|
+
return this.baseKey;
|
|
143
|
+
}
|
|
144
|
+
const baseKey = await this.parent.activeDevice.secrets.loadSecret(DeviceSecretController_1.DeviceSecretType.SharedSecretBaseKey);
|
|
145
|
+
if (baseKey) {
|
|
146
|
+
this.baseKey = baseKey.secret;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
throw core_1.TransportErrors.general
|
|
150
|
+
.recordNotFound(crypto_1.CryptoSecretKey, DeviceSecretController_1.DeviceSecretType.SharedSecretBaseKey)
|
|
151
|
+
.logWith(this._log);
|
|
152
|
+
}
|
|
153
|
+
return this.baseKey;
|
|
154
|
+
}
|
|
155
|
+
async increaseNonce() {
|
|
156
|
+
const nextNonce = this.nonce++;
|
|
157
|
+
await this.parent.info.set(SecretController.secretNonceKey, nextNonce);
|
|
158
|
+
return nextNonce;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.SecretController = SecretController;
|
|
162
|
+
/**
|
|
163
|
+
* Context of the secret derivation function. Doesn't have to be secret.
|
|
164
|
+
* Must be 8 characters long.
|
|
165
|
+
*/
|
|
166
|
+
SecretController.secretContext = "SECRET01";
|
|
167
|
+
SecretController.secretNonceKey = "secret_lastnonce";
|
|
168
|
+
//# sourceMappingURL=SecretController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretController.js","sourceRoot":"","sources":["../../../src/modules/secrets/SecretController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CryptoCipher, ICryptoCipher } from "@nmshd/crypto";
|
|
2
|
+
import { CoreSynchronizable, ICoreSynchronizable } from "../../../core/CoreSynchronizable";
|
|
3
|
+
import { CoreDate, ICoreDate } from "../../../core/types/CoreDate";
|
|
4
|
+
export interface ISecretContainerCipher extends ICoreSynchronizable {
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
createdAt: ICoreDate;
|
|
8
|
+
nonce?: number;
|
|
9
|
+
validFrom: ICoreDate;
|
|
10
|
+
validTo?: ICoreDate;
|
|
11
|
+
active: boolean;
|
|
12
|
+
cipher: ICryptoCipher;
|
|
13
|
+
}
|
|
14
|
+
export declare class SecretContainerCipher extends CoreSynchronizable implements ISecretContainerCipher {
|
|
15
|
+
readonly technicalProperties: string[];
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
createdAt: CoreDate;
|
|
19
|
+
validFrom: CoreDate;
|
|
20
|
+
validTo: CoreDate;
|
|
21
|
+
nonce?: number;
|
|
22
|
+
active: boolean;
|
|
23
|
+
cipher: CryptoCipher;
|
|
24
|
+
static from(value: ISecretContainerCipher): Promise<SecretContainerCipher>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var SecretContainerCipher_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.SecretContainerCipher = void 0;
|
|
14
|
+
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
15
|
+
const crypto_1 = require("@nmshd/crypto");
|
|
16
|
+
const ts_simple_nameof_1 = require("ts-simple-nameof");
|
|
17
|
+
const CoreSynchronizable_1 = require("../../../core/CoreSynchronizable");
|
|
18
|
+
const CoreDate_1 = require("../../../core/types/CoreDate");
|
|
19
|
+
let SecretContainerCipher = SecretContainerCipher_1 = class SecretContainerCipher extends CoreSynchronizable_1.CoreSynchronizable {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.technicalProperties = [
|
|
23
|
+
"@type",
|
|
24
|
+
"@context",
|
|
25
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.name),
|
|
26
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.description),
|
|
27
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.createdAt),
|
|
28
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.validFrom),
|
|
29
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.validTo),
|
|
30
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.nonce),
|
|
31
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.active),
|
|
32
|
+
(0, ts_simple_nameof_1.nameof)((x) => x.cipher)
|
|
33
|
+
];
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
35
|
+
this.name = "";
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
37
|
+
this.description = "";
|
|
38
|
+
}
|
|
39
|
+
static async from(value) {
|
|
40
|
+
return await super.fromT(value, SecretContainerCipher_1);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, ts_serval_1.serialize)(),
|
|
45
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
46
|
+
__metadata("design:type", String)
|
|
47
|
+
], SecretContainerCipher.prototype, "name", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, ts_serval_1.serialize)(),
|
|
50
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], SecretContainerCipher.prototype, "description", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, ts_serval_1.serialize)(),
|
|
55
|
+
(0, ts_serval_1.validate)(),
|
|
56
|
+
__metadata("design:type", CoreDate_1.CoreDate)
|
|
57
|
+
], SecretContainerCipher.prototype, "createdAt", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, ts_serval_1.serialize)(),
|
|
60
|
+
(0, ts_serval_1.validate)(),
|
|
61
|
+
__metadata("design:type", CoreDate_1.CoreDate)
|
|
62
|
+
], SecretContainerCipher.prototype, "validFrom", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, ts_serval_1.serialize)(),
|
|
65
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
66
|
+
__metadata("design:type", CoreDate_1.CoreDate)
|
|
67
|
+
], SecretContainerCipher.prototype, "validTo", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, ts_serval_1.serialize)(),
|
|
70
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
71
|
+
__metadata("design:type", Number)
|
|
72
|
+
], SecretContainerCipher.prototype, "nonce", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, ts_serval_1.serialize)(),
|
|
75
|
+
(0, ts_serval_1.validate)(),
|
|
76
|
+
__metadata("design:type", Boolean)
|
|
77
|
+
], SecretContainerCipher.prototype, "active", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, ts_serval_1.serialize)(),
|
|
80
|
+
(0, ts_serval_1.validate)(),
|
|
81
|
+
__metadata("design:type", crypto_1.CryptoCipher)
|
|
82
|
+
], SecretContainerCipher.prototype, "cipher", void 0);
|
|
83
|
+
SecretContainerCipher = SecretContainerCipher_1 = __decorate([
|
|
84
|
+
(0, ts_serval_1.type)("SecretContainerCipher")
|
|
85
|
+
], SecretContainerCipher);
|
|
86
|
+
exports.SecretContainerCipher = SecretContainerCipher;
|
|
87
|
+
//# sourceMappingURL=SecretContainerCipher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretContainerCipher.js","sourceRoot":"","sources":["../../../../src/modules/secrets/data/SecretContainerCipher.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8D;AAC9D,0CAA2D;AAC3D,uDAAyC;AACzC,yEAA0F;AAC1F,2DAAkE;AAclE,IAAa,qBAAqB,6BAAlC,MAAa,qBAAsB,SAAQ,uCAAkB;IAA7D;;QACoB,wBAAmB,GAAG;YAClC,OAAO;YACP,UAAU;YACV,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACnD,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/C,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7C,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,IAAA,yBAAM,EAAwB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACjD,CAAA;QAED,kEAAkE;QAG3D,SAAI,GAAW,EAAE,CAAA;QAExB,kEAAkE;QAG3D,gBAAW,GAAW,EAAE,CAAA;IA6BnC,CAAC;IAHU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAA6B;QAClD,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,uBAAqB,CAAC,CAAA;IAC1D,CAAC;CACJ,CAAA;AAlCG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACL;AAKxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACE;AAI/B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,mBAAQ;wDAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,mBAAQ;wDAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACb,mBAAQ;sDAAA;AAIxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACR;AAIrB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;qDACW;AAItB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACI,qBAAY;qDAAA;AA9ClB,qBAAqB;IADjC,IAAA,gBAAI,EAAC,uBAAuB,CAAC;GACjB,qBAAqB,CAmDjC;AAnDY,sDAAqB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SerializableAsync } from "@js-soft/ts-serval";
|
|
2
|
+
import { CoreDate, CoreId, CoreSerializableAsync, ICoreDate, ICoreId, ICoreSerializableAsync } from "../../../core";
|
|
3
|
+
export interface ISecretContainerPlain extends ICoreSerializableAsync {
|
|
4
|
+
id: ICoreId;
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
createdAt: ICoreDate;
|
|
8
|
+
nonce?: number;
|
|
9
|
+
validFrom: ICoreDate;
|
|
10
|
+
validTo?: ICoreDate;
|
|
11
|
+
active: boolean;
|
|
12
|
+
secret: ICoreSerializableAsync;
|
|
13
|
+
}
|
|
14
|
+
export declare class SecretContainerPlain extends CoreSerializableAsync implements ISecretContainerPlain {
|
|
15
|
+
id: CoreId;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
createdAt: CoreDate;
|
|
19
|
+
validFrom: CoreDate;
|
|
20
|
+
validTo: CoreDate;
|
|
21
|
+
nonce?: number;
|
|
22
|
+
active: boolean;
|
|
23
|
+
secret: SerializableAsync;
|
|
24
|
+
static from(value: ISecretContainerPlain): Promise<SecretContainerPlain>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var SecretContainerPlain_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.SecretContainerPlain = void 0;
|
|
14
|
+
/* eslint-disable @typescript-eslint/no-inferrable-types */
|
|
15
|
+
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
16
|
+
const core_1 = require("../../../core");
|
|
17
|
+
let SecretContainerPlain = SecretContainerPlain_1 = class SecretContainerPlain extends core_1.CoreSerializableAsync {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
this.name = "";
|
|
21
|
+
this.description = "";
|
|
22
|
+
}
|
|
23
|
+
static async from(value) {
|
|
24
|
+
return await super.fromT(value, SecretContainerPlain_1);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, ts_serval_1.serialize)(),
|
|
29
|
+
(0, ts_serval_1.validate)(),
|
|
30
|
+
__metadata("design:type", core_1.CoreId)
|
|
31
|
+
], SecretContainerPlain.prototype, "id", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, ts_serval_1.serialize)(),
|
|
34
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], SecretContainerPlain.prototype, "name", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, ts_serval_1.serialize)(),
|
|
39
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], SecretContainerPlain.prototype, "description", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, ts_serval_1.serialize)(),
|
|
44
|
+
(0, ts_serval_1.validate)(),
|
|
45
|
+
__metadata("design:type", core_1.CoreDate)
|
|
46
|
+
], SecretContainerPlain.prototype, "createdAt", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, ts_serval_1.serialize)(),
|
|
49
|
+
(0, ts_serval_1.validate)(),
|
|
50
|
+
__metadata("design:type", core_1.CoreDate)
|
|
51
|
+
], SecretContainerPlain.prototype, "validFrom", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, ts_serval_1.serialize)(),
|
|
54
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
55
|
+
__metadata("design:type", core_1.CoreDate)
|
|
56
|
+
], SecretContainerPlain.prototype, "validTo", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, ts_serval_1.serialize)(),
|
|
59
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
60
|
+
__metadata("design:type", Number)
|
|
61
|
+
], SecretContainerPlain.prototype, "nonce", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, ts_serval_1.serialize)(),
|
|
64
|
+
(0, ts_serval_1.validate)(),
|
|
65
|
+
__metadata("design:type", Boolean)
|
|
66
|
+
], SecretContainerPlain.prototype, "active", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, ts_serval_1.serialize)(),
|
|
69
|
+
(0, ts_serval_1.validate)(),
|
|
70
|
+
__metadata("design:type", ts_serval_1.SerializableAsync)
|
|
71
|
+
], SecretContainerPlain.prototype, "secret", void 0);
|
|
72
|
+
SecretContainerPlain = SecretContainerPlain_1 = __decorate([
|
|
73
|
+
(0, ts_serval_1.type)("SecretContainerPlain")
|
|
74
|
+
], SecretContainerPlain);
|
|
75
|
+
exports.SecretContainerPlain = SecretContainerPlain;
|
|
76
|
+
//# sourceMappingURL=SecretContainerPlain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretContainerPlain.js","sourceRoot":"","sources":["../../../../src/modules/secrets/data/SecretContainerPlain.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2DAA2D;AAC3D,kDAAiF;AACjF,wCAAmH;AAenH,IAAa,oBAAoB,4BAAjC,MAAa,oBAAqB,SAAQ,4BAAqB;IAA/D;;QAOW,SAAI,GAAW,EAAE,CAAA;QAIjB,gBAAW,GAAW,EAAE,CAAA;IA6BnC,CAAC;IAHU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAA4B;QACjD,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAoB,CAAC,CAAA;IACzD,CAAC;CACJ,CAAA;AArCG;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACA,aAAM;gDAAA;AAIjB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACL;AAIxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACE;AAI/B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,eAAQ;uDAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACO,eAAQ;uDAAA;AAI1B;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACb,eAAQ;qDAAA;AAIxB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACR;AAIrB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;oDACW;AAItB;IAFC,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;8BACI,6BAAiB;oDAAA;AAnCvB,oBAAoB;IADhC,IAAA,gBAAI,EAAC,sBAAsB,CAAC;GAChB,oBAAoB,CAwChC;AAxCY,oDAAoB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Message } from "../messages/local/Message";
|
|
2
|
+
import { Relationship } from "../relationships/local/Relationship";
|
|
3
|
+
export declare class ChangedItems {
|
|
4
|
+
readonly relationships: Relationship[];
|
|
5
|
+
readonly messages: Message[];
|
|
6
|
+
constructor(relationships?: Relationship[], messages?: Message[]);
|
|
7
|
+
addRelationship(relationship: Relationship): void;
|
|
8
|
+
addMessage(message: Message): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChangedItems = void 0;
|
|
4
|
+
class ChangedItems {
|
|
5
|
+
constructor(relationships = [], messages = []) {
|
|
6
|
+
this.relationships = relationships;
|
|
7
|
+
this.messages = messages;
|
|
8
|
+
}
|
|
9
|
+
addRelationship(relationship) {
|
|
10
|
+
this.relationships.push(relationship);
|
|
11
|
+
}
|
|
12
|
+
addMessage(message) {
|
|
13
|
+
this.messages.push(message);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ChangedItems = ChangedItems;
|
|
17
|
+
//# sourceMappingURL=ChangedItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangedItems.js","sourceRoot":"","sources":["../../../src/modules/sync/ChangedItems.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACrB,YAAmC,gBAAgC,EAAE,EAAkB,WAAsB,EAAE;QAA5E,kBAAa,GAAb,aAAa,CAAqB;QAAkB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAE5G,eAAe,CAAC,YAA0B;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzC,CAAC;IAEM,UAAU,CAAC,OAAgB;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;CACJ;AAVD,oCAUC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BackboneDatawalletModification } from "./backbone/BackboneDatawalletModification";
|
|
2
|
+
import { CreateDatawalletModificationsRequestItem } from "./backbone/CreateDatawalletModifications";
|
|
3
|
+
import { DatawalletModification } from "./local/DatawalletModification";
|
|
4
|
+
export declare class DatawalletModificationMapper {
|
|
5
|
+
static fromBackboneDatawalletModification(backboneDatawalletModification: BackboneDatawalletModification, decryptedPayload: object | undefined): Promise<DatawalletModification>;
|
|
6
|
+
static toCreateDatawalletModificationsRequestItem(datawalletModification: DatawalletModification, encryptedPayload: string | undefined): CreateDatawalletModificationsRequestItem;
|
|
7
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DatawalletModificationMapper = void 0;
|
|
4
|
+
const core_1 = require("../../core");
|
|
5
|
+
const DatawalletModification_1 = require("./local/DatawalletModification");
|
|
6
|
+
class DatawalletModificationMapper {
|
|
7
|
+
static async fromBackboneDatawalletModification(backboneDatawalletModification, decryptedPayload) {
|
|
8
|
+
let type;
|
|
9
|
+
switch (backboneDatawalletModification.type) {
|
|
10
|
+
case "Create":
|
|
11
|
+
type = DatawalletModification_1.DatawalletModificationType.Create;
|
|
12
|
+
break;
|
|
13
|
+
case "Update":
|
|
14
|
+
type = DatawalletModification_1.DatawalletModificationType.Update;
|
|
15
|
+
break;
|
|
16
|
+
case "Delete":
|
|
17
|
+
type = DatawalletModification_1.DatawalletModificationType.Delete;
|
|
18
|
+
break;
|
|
19
|
+
case "CacheChanged":
|
|
20
|
+
type = DatawalletModification_1.DatawalletModificationType.CacheChanged;
|
|
21
|
+
break;
|
|
22
|
+
default:
|
|
23
|
+
throw new Error("Unsupported DatawalletModificationType '${backboneDatawalletModification.type}'");
|
|
24
|
+
}
|
|
25
|
+
let payloadCategory;
|
|
26
|
+
switch (backboneDatawalletModification.payloadCategory) {
|
|
27
|
+
case "TechnicalData":
|
|
28
|
+
payloadCategory = DatawalletModification_1.DatawalletModificationCategory.TechnicalData;
|
|
29
|
+
break;
|
|
30
|
+
case "Userdata":
|
|
31
|
+
payloadCategory = DatawalletModification_1.DatawalletModificationCategory.Userdata;
|
|
32
|
+
break;
|
|
33
|
+
case "Metadata":
|
|
34
|
+
payloadCategory = DatawalletModification_1.DatawalletModificationCategory.Metadata;
|
|
35
|
+
break;
|
|
36
|
+
case null:
|
|
37
|
+
payloadCategory = undefined;
|
|
38
|
+
break;
|
|
39
|
+
default:
|
|
40
|
+
throw new Error(`Unsupported DatawalletModificationCategory '${backboneDatawalletModification.payloadCategory}'`);
|
|
41
|
+
}
|
|
42
|
+
return DatawalletModification_1.DatawalletModification.from({
|
|
43
|
+
localId: await core_1.TransportIds.datawalletModification.generate(),
|
|
44
|
+
objectIdentifier: core_1.CoreId.from(backboneDatawalletModification.objectIdentifier),
|
|
45
|
+
payloadCategory: payloadCategory,
|
|
46
|
+
collection: backboneDatawalletModification.collection,
|
|
47
|
+
type: type,
|
|
48
|
+
payload: decryptedPayload
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static toCreateDatawalletModificationsRequestItem(datawalletModification, encryptedPayload) {
|
|
52
|
+
return {
|
|
53
|
+
objectIdentifier: datawalletModification.objectIdentifier.toString(),
|
|
54
|
+
payloadCategory: datawalletModification.payloadCategory,
|
|
55
|
+
collection: datawalletModification.collection,
|
|
56
|
+
type: datawalletModification.type,
|
|
57
|
+
encryptedPayload: encryptedPayload
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.DatawalletModificationMapper = DatawalletModificationMapper;
|
|
62
|
+
//# sourceMappingURL=DatawalletModificationMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatawalletModificationMapper.js","sourceRoot":"","sources":["../../../src/modules/sync/DatawalletModificationMapper.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AAGjD,2EAIuC;AAEvC,MAAa,4BAA4B;IAC9B,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAClD,8BAA8D,EAC9D,gBAAoC;QAEpC,IAAI,IAAgC,CAAA;QAEpC,QAAQ,8BAA8B,CAAC,IAAI,EAAE;YACzC,KAAK,QAAQ;gBACT,IAAI,GAAG,mDAA0B,CAAC,MAAM,CAAA;gBACxC,MAAK;YACT,KAAK,QAAQ;gBACT,IAAI,GAAG,mDAA0B,CAAC,MAAM,CAAA;gBACxC,MAAK;YACT,KAAK,QAAQ;gBACT,IAAI,GAAG,mDAA0B,CAAC,MAAM,CAAA;gBACxC,MAAK;YACT,KAAK,cAAc;gBACf,IAAI,GAAG,mDAA0B,CAAC,YAAY,CAAA;gBAC9C,MAAK;YACT;gBACI,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;SACzG;QAED,IAAI,eAA2D,CAAA;QAE/D,QAAQ,8BAA8B,CAAC,eAAe,EAAE;YACpD,KAAK,eAAe;gBAChB,eAAe,GAAG,uDAA8B,CAAC,aAAa,CAAA;gBAC9D,MAAK;YACT,KAAK,UAAU;gBACX,eAAe,GAAG,uDAA8B,CAAC,QAAQ,CAAA;gBACzD,MAAK;YACT,KAAK,UAAU;gBACX,eAAe,GAAG,uDAA8B,CAAC,QAAQ,CAAA;gBACzD,MAAK;YACT,KAAK,IAAI;gBACL,eAAe,GAAG,SAAS,CAAA;gBAC3B,MAAK;YACT;gBACI,MAAM,IAAI,KAAK,CACX,+CAA+C,8BAA8B,CAAC,eAAe,GAAG,CACnG,CAAA;SACR;QAED,OAAO,+CAAsB,CAAC,IAAI,CAAC;YAC/B,OAAO,EAAE,MAAM,mBAAY,CAAC,sBAAsB,CAAC,QAAQ,EAAE;YAC7D,gBAAgB,EAAE,aAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,gBAAgB,CAAC;YAC9E,eAAe,EAAE,eAAe;YAChC,UAAU,EAAE,8BAA8B,CAAC,UAAU;YACrD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,gBAAgB;SAC5B,CAAC,CAAA;IACN,CAAC;IAEM,MAAM,CAAC,0CAA0C,CACpD,sBAA8C,EAC9C,gBAAoC;QAEpC,OAAO;YACH,gBAAgB,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACpE,eAAe,EAAE,sBAAsB,CAAC,eAAe;YACvD,UAAU,EAAE,sBAAsB,CAAC,UAAU;YAC7C,IAAI,EAAE,sBAAsB,CAAC,IAAI;YACjC,gBAAgB,EAAE,gBAAgB;SACrC,CAAA;IACL,CAAC;CACJ;AAnED,oEAmEC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IDatabaseCollectionProvider } from "@js-soft/docdb-access-abstractions";
|
|
2
|
+
import { DatawalletModification } from "./local/DatawalletModification";
|
|
3
|
+
interface ICacheUpdater {
|
|
4
|
+
updateCache(ids: string[]): Promise<any[]>;
|
|
5
|
+
}
|
|
6
|
+
export declare class DatawalletModificationsProcessor {
|
|
7
|
+
private readonly collectionProvider;
|
|
8
|
+
private readonly modifications;
|
|
9
|
+
private readonly fileCacheUpdater;
|
|
10
|
+
private readonly messageCacheUpdater;
|
|
11
|
+
private readonly relationshipTemplateCacheUpdater;
|
|
12
|
+
private readonly relationshipCacheUpdater;
|
|
13
|
+
private readonly tokenCacheUpdater;
|
|
14
|
+
constructor(collectionProvider: IDatabaseCollectionProvider, modifications: DatawalletModification[], fileCacheUpdater: ICacheUpdater, messageCacheUpdater: ICacheUpdater, relationshipTemplateCacheUpdater: ICacheUpdater, relationshipCacheUpdater: ICacheUpdater, tokenCacheUpdater: ICacheUpdater);
|
|
15
|
+
execute(): Promise<void>;
|
|
16
|
+
private applyCreations;
|
|
17
|
+
private applyUpdates;
|
|
18
|
+
private applyDeletes;
|
|
19
|
+
private applyCacheChanges;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DatawalletModificationsProcessor = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const core_1 = require("../../core");
|
|
9
|
+
const DbCollectionNames_1 = require("../../core/DbCollectionNames");
|
|
10
|
+
const DatawalletModification_1 = require("./local/DatawalletModification");
|
|
11
|
+
class DatawalletModificationsProcessor {
|
|
12
|
+
constructor(collectionProvider, modifications, fileCacheUpdater, messageCacheUpdater, relationshipTemplateCacheUpdater, relationshipCacheUpdater, tokenCacheUpdater) {
|
|
13
|
+
this.collectionProvider = collectionProvider;
|
|
14
|
+
this.modifications = modifications;
|
|
15
|
+
this.fileCacheUpdater = fileCacheUpdater;
|
|
16
|
+
this.messageCacheUpdater = messageCacheUpdater;
|
|
17
|
+
this.relationshipTemplateCacheUpdater = relationshipTemplateCacheUpdater;
|
|
18
|
+
this.relationshipCacheUpdater = relationshipCacheUpdater;
|
|
19
|
+
this.tokenCacheUpdater = tokenCacheUpdater;
|
|
20
|
+
}
|
|
21
|
+
async execute() {
|
|
22
|
+
const modificationsGroupedByType = lodash_1.default.groupBy(this.modifications, (m) => m.type);
|
|
23
|
+
await this.applyCreations(modificationsGroupedByType[DatawalletModification_1.DatawalletModificationType.Create]);
|
|
24
|
+
await this.applyUpdates(modificationsGroupedByType[DatawalletModification_1.DatawalletModificationType.Update]);
|
|
25
|
+
await this.applyDeletes(modificationsGroupedByType[DatawalletModification_1.DatawalletModificationType.Delete]);
|
|
26
|
+
await this.applyCacheChanges(modificationsGroupedByType[DatawalletModification_1.DatawalletModificationType.CacheChanged]);
|
|
27
|
+
}
|
|
28
|
+
async applyCreations(creations) {
|
|
29
|
+
if (!creations || creations.length === 0) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const creationsGroupedByObjectIdentifier = lodash_1.default.groupBy(creations, (c) => c.objectIdentifier);
|
|
33
|
+
for (const objectIdentifier in creationsGroupedByObjectIdentifier) {
|
|
34
|
+
const currentCreations = creationsGroupedByObjectIdentifier[objectIdentifier];
|
|
35
|
+
const targetCollection = await this.collectionProvider.getCollection(currentCreations[0].collection);
|
|
36
|
+
let mergedCreation = { id: objectIdentifier };
|
|
37
|
+
for (const creation of currentCreations) {
|
|
38
|
+
mergedCreation = { ...mergedCreation, ...creation.payload };
|
|
39
|
+
}
|
|
40
|
+
const newObject = await core_1.CoreSerializableAsync.fromUnknown(mergedCreation);
|
|
41
|
+
const oldDoc = await targetCollection.read(objectIdentifier);
|
|
42
|
+
if (oldDoc) {
|
|
43
|
+
const oldObject = await core_1.CoreSerializableAsync.fromUnknown(oldDoc);
|
|
44
|
+
const updatedObject = { ...oldObject.toJSON(), ...newObject.toJSON() };
|
|
45
|
+
await targetCollection.update(oldDoc, updatedObject);
|
|
46
|
+
}
|
|
47
|
+
await targetCollection.create(newObject);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async applyUpdates(updateModifications) {
|
|
51
|
+
if (!updateModifications || updateModifications.length === 0) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
for (const updateModification of updateModifications) {
|
|
55
|
+
const targetCollection = await this.collectionProvider.getCollection(updateModification.collection);
|
|
56
|
+
const oldDoc = await targetCollection.read(updateModification.objectIdentifier.toString());
|
|
57
|
+
if (!oldDoc) {
|
|
58
|
+
throw new Error("Document to update was not found.");
|
|
59
|
+
}
|
|
60
|
+
const oldObject = await core_1.CoreSerializableAsync.fromUnknown(oldDoc);
|
|
61
|
+
const newObject = { ...oldObject.toJSON(), ...updateModification.payload };
|
|
62
|
+
await targetCollection.update(oldDoc, newObject);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async applyDeletes(deleteModifications) {
|
|
66
|
+
if (!deleteModifications || deleteModifications.length === 0) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
for (const deleteModification of deleteModifications) {
|
|
70
|
+
const targetCollection = await this.collectionProvider.getCollection(deleteModification.collection);
|
|
71
|
+
await targetCollection.delete({ id: deleteModification.objectIdentifier });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async applyCacheChanges(cacheChanges) {
|
|
75
|
+
if (!cacheChanges || cacheChanges.length === 0) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const cacheChangesGroupedByCollection = lodash_1.default.groupBy(cacheChanges, (c) => c.collection);
|
|
79
|
+
const fillCachePromises = [];
|
|
80
|
+
for (const collectionName in cacheChangesGroupedByCollection) {
|
|
81
|
+
const modificationsInCollection = cacheChangesGroupedByCollection[collectionName];
|
|
82
|
+
switch (collectionName) {
|
|
83
|
+
case DbCollectionNames_1.DbCollectionNames.Files:
|
|
84
|
+
fillCachePromises.push(this.fileCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
|
|
85
|
+
break;
|
|
86
|
+
case DbCollectionNames_1.DbCollectionNames.Messages:
|
|
87
|
+
fillCachePromises.push(this.messageCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
|
|
88
|
+
break;
|
|
89
|
+
case DbCollectionNames_1.DbCollectionNames.Relationships:
|
|
90
|
+
// Relationship caches are filled afterwards. It requires the template caches to be filled.
|
|
91
|
+
break;
|
|
92
|
+
case DbCollectionNames_1.DbCollectionNames.Templates:
|
|
93
|
+
fillCachePromises.push(this.relationshipTemplateCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
|
|
94
|
+
break;
|
|
95
|
+
case DbCollectionNames_1.DbCollectionNames.Tokens:
|
|
96
|
+
fillCachePromises.push(this.tokenCacheUpdater.updateCache(modificationsInCollection.map((m) => m.objectIdentifier.toString())));
|
|
97
|
+
break;
|
|
98
|
+
default:
|
|
99
|
+
throw new Error(`DB collection with name '${collectionName}' is not supported.'`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
await Promise.all(fillCachePromises);
|
|
103
|
+
const relationshipCacheUpdates = cacheChangesGroupedByCollection[DbCollectionNames_1.DbCollectionNames.Relationships];
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
105
|
+
if (relationshipCacheUpdates) {
|
|
106
|
+
await this.relationshipCacheUpdater.updateCache(relationshipCacheUpdates.map((m) => m.objectIdentifier.toString()));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.DatawalletModificationsProcessor = DatawalletModificationsProcessor;
|
|
111
|
+
//# sourceMappingURL=DatawalletModificationsProcessor.js.map
|