@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.
Files changed (497) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +18 -0
  3. package/dist/TransportBuildInformation.d.ts +13 -0
  4. package/dist/TransportBuildInformation.js +25 -0
  5. package/dist/TransportBuildInformation.js.map +1 -0
  6. package/dist/core/CoreCrypto.d.ts +108 -0
  7. package/dist/core/CoreCrypto.js +205 -0
  8. package/dist/core/CoreCrypto.js.map +1 -0
  9. package/dist/core/CoreError.d.ts +18 -0
  10. package/dist/core/CoreError.js +63 -0
  11. package/dist/core/CoreError.js.map +1 -0
  12. package/dist/core/CoreIdHelper.d.ts +9 -0
  13. package/dist/core/CoreIdHelper.js +23 -0
  14. package/dist/core/CoreIdHelper.js.map +1 -0
  15. package/dist/core/CoreIds.d.ts +9 -0
  16. package/dist/core/CoreIds.js +14 -0
  17. package/dist/core/CoreIds.js.map +1 -0
  18. package/dist/core/CoreSerializable.d.ts +18 -0
  19. package/dist/core/CoreSerializable.js +44 -0
  20. package/dist/core/CoreSerializable.js.map +1 -0
  21. package/dist/core/CoreSerializableAsync.d.ts +18 -0
  22. package/dist/core/CoreSerializableAsync.js +44 -0
  23. package/dist/core/CoreSerializableAsync.js.map +1 -0
  24. package/dist/core/CoreSynchronizable.d.ts +11 -0
  25. package/dist/core/CoreSynchronizable.js +30 -0
  26. package/dist/core/CoreSynchronizable.js.map +1 -0
  27. package/dist/core/CoreUtil.d.ts +6 -0
  28. package/dist/core/CoreUtil.js +38 -0
  29. package/dist/core/CoreUtil.js.map +1 -0
  30. package/dist/core/DbCollectionNames.d.ts +11 -0
  31. package/dist/core/DbCollectionNames.js +16 -0
  32. package/dist/core/DbCollectionNames.js.map +1 -0
  33. package/dist/core/ICacheable.d.ts +4 -0
  34. package/dist/core/ICacheable.js +14 -0
  35. package/dist/core/ICacheable.js.map +1 -0
  36. package/dist/core/Transport.d.ts +47 -0
  37. package/dist/core/Transport.js +71 -0
  38. package/dist/core/Transport.js.map +1 -0
  39. package/dist/core/TransportContext.d.ts +8 -0
  40. package/dist/core/TransportContext.js +29 -0
  41. package/dist/core/TransportContext.js.map +1 -0
  42. package/dist/core/TransportController.d.ts +51 -0
  43. package/dist/core/TransportController.js +99 -0
  44. package/dist/core/TransportController.js.map +1 -0
  45. package/dist/core/TransportErrors.d.ts +125 -0
  46. package/dist/core/TransportErrors.js +255 -0
  47. package/dist/core/TransportErrors.js.map +1 -0
  48. package/dist/core/TransportLoggerFactory.d.ts +7 -0
  49. package/dist/core/TransportLoggerFactory.js +23 -0
  50. package/dist/core/TransportLoggerFactory.js.map +1 -0
  51. package/dist/core/backbone/AuthClient.d.ts +17 -0
  52. package/dist/core/backbone/AuthClient.js +47 -0
  53. package/dist/core/backbone/AuthClient.js.map +1 -0
  54. package/dist/core/backbone/Authenticator.d.ts +16 -0
  55. package/dist/core/backbone/Authenticator.js +62 -0
  56. package/dist/core/backbone/Authenticator.js.map +1 -0
  57. package/dist/core/backbone/BackboneIds.d.ts +11 -0
  58. package/dist/core/backbone/BackboneIds.js +16 -0
  59. package/dist/core/backbone/BackboneIds.js.map +1 -0
  60. package/dist/core/backbone/ClientResult.d.ts +19 -0
  61. package/dist/core/backbone/ClientResult.js +58 -0
  62. package/dist/core/backbone/ClientResult.js.map +1 -0
  63. package/dist/core/backbone/Paginator.d.ts +17 -0
  64. package/dist/core/backbone/Paginator.js +44 -0
  65. package/dist/core/backbone/Paginator.js.map +1 -0
  66. package/dist/core/backbone/PlatformError.d.ts +9 -0
  67. package/dist/core/backbone/PlatformError.js +3 -0
  68. package/dist/core/backbone/PlatformError.js.map +1 -0
  69. package/dist/core/backbone/PlatformParameters.d.ts +6 -0
  70. package/dist/core/backbone/PlatformParameters.js +3 -0
  71. package/dist/core/backbone/PlatformParameters.js.map +1 -0
  72. package/dist/core/backbone/PlatformResponse.d.ts +16 -0
  73. package/dist/core/backbone/PlatformResponse.js +3 -0
  74. package/dist/core/backbone/PlatformResponse.js.map +1 -0
  75. package/dist/core/backbone/RESTClient.d.ts +46 -0
  76. package/dist/core/backbone/RESTClient.js +425 -0
  77. package/dist/core/backbone/RESTClient.js.map +1 -0
  78. package/dist/core/backbone/RESTClientAuthenticate.d.ts +23 -0
  79. package/dist/core/backbone/RESTClientAuthenticate.js +72 -0
  80. package/dist/core/backbone/RESTClientAuthenticate.js.map +1 -0
  81. package/dist/core/backbone/RequestError.d.ts +24 -0
  82. package/dist/core/backbone/RequestError.js +101 -0
  83. package/dist/core/backbone/RequestError.js.map +1 -0
  84. package/dist/core/backbone/index.d.ts +6 -0
  85. package/dist/core/backbone/index.js +19 -0
  86. package/dist/core/backbone/index.js.map +1 -0
  87. package/dist/core/index.d.ts +16 -0
  88. package/dist/core/index.js +29 -0
  89. package/dist/core/index.js.map +1 -0
  90. package/dist/core/logging/logExecutionTime.d.ts +26 -0
  91. package/dist/core/logging/logExecutionTime.js +58 -0
  92. package/dist/core/logging/logExecutionTime.js.map +1 -0
  93. package/dist/core/types/CoreAddress.d.ts +15 -0
  94. package/dist/core/types/CoreAddress.js +56 -0
  95. package/dist/core/types/CoreAddress.js.map +1 -0
  96. package/dist/core/types/CoreDate.d.ts +37 -0
  97. package/dist/core/types/CoreDate.js +156 -0
  98. package/dist/core/types/CoreDate.js.map +1 -0
  99. package/dist/core/types/CoreHash.d.ts +37 -0
  100. package/dist/core/types/CoreHash.js +75 -0
  101. package/dist/core/types/CoreHash.js.map +1 -0
  102. package/dist/core/types/CoreId.d.ts +16 -0
  103. package/dist/core/types/CoreId.js +57 -0
  104. package/dist/core/types/CoreId.js.map +1 -0
  105. package/dist/core/types/TransportVersion.d.ts +4 -0
  106. package/dist/core/types/TransportVersion.js +9 -0
  107. package/dist/core/types/TransportVersion.js.map +1 -0
  108. package/dist/core/types/index.d.ts +5 -0
  109. package/dist/core/types/index.js +18 -0
  110. package/dist/core/types/index.js.map +1 -0
  111. package/dist/index.d.ts +3 -0
  112. package/dist/index.js +16 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/modules/accounts/AccountController.d.ts +77 -0
  115. package/dist/modules/accounts/AccountController.js +337 -0
  116. package/dist/modules/accounts/AccountController.js.map +1 -0
  117. package/dist/modules/accounts/IdentityController.d.ts +21 -0
  118. package/dist/modules/accounts/IdentityController.js +67 -0
  119. package/dist/modules/accounts/IdentityController.js.map +1 -0
  120. package/dist/modules/accounts/IdentityUtil.d.ts +6 -0
  121. package/dist/modules/accounts/IdentityUtil.js +56 -0
  122. package/dist/modules/accounts/IdentityUtil.js.map +1 -0
  123. package/dist/modules/accounts/backbone/IdentityClient.d.ts +23 -0
  124. package/dist/modules/accounts/backbone/IdentityClient.js +15 -0
  125. package/dist/modules/accounts/backbone/IdentityClient.js.map +1 -0
  126. package/dist/modules/accounts/data/Identity.d.ts +34 -0
  127. package/dist/modules/accounts/data/Identity.js +69 -0
  128. package/dist/modules/accounts/data/Identity.js.map +1 -0
  129. package/dist/modules/accounts/data/IdentitySecretCredentials.d.ts +16 -0
  130. package/dist/modules/accounts/data/IdentitySecretCredentials.js +47 -0
  131. package/dist/modules/accounts/data/IdentitySecretCredentials.js.map +1 -0
  132. package/dist/modules/certificates/CertificateController.d.ts +14 -0
  133. package/dist/modules/certificates/CertificateController.js +20 -0
  134. package/dist/modules/certificates/CertificateController.js.map +1 -0
  135. package/dist/modules/certificates/CertificateIssuer.d.ts +27 -0
  136. package/dist/modules/certificates/CertificateIssuer.js +42 -0
  137. package/dist/modules/certificates/CertificateIssuer.js.map +1 -0
  138. package/dist/modules/certificates/CertificateValidator.d.ts +14 -0
  139. package/dist/modules/certificates/CertificateValidator.js +20 -0
  140. package/dist/modules/certificates/CertificateValidator.js.map +1 -0
  141. package/dist/modules/certificates/data/Certificate.d.ts +34 -0
  142. package/dist/modules/certificates/data/Certificate.js +65 -0
  143. package/dist/modules/certificates/data/Certificate.js.map +1 -0
  144. package/dist/modules/certificates/data/CertificateConstraint.d.ts +10 -0
  145. package/dist/modules/certificates/data/CertificateConstraint.js +28 -0
  146. package/dist/modules/certificates/data/CertificateConstraint.js.map +1 -0
  147. package/dist/modules/certificates/data/CertificateContent.d.ts +28 -0
  148. package/dist/modules/certificates/data/CertificateContent.js +70 -0
  149. package/dist/modules/certificates/data/CertificateContent.js.map +1 -0
  150. package/dist/modules/certificates/data/CertificateItem.d.ts +11 -0
  151. package/dist/modules/certificates/data/CertificateItem.js +29 -0
  152. package/dist/modules/certificates/data/CertificateItem.js.map +1 -0
  153. package/dist/modules/certificates/data/constraints/CertificateBorderConstraint.d.ts +29 -0
  154. package/dist/modules/certificates/data/constraints/CertificateBorderConstraint.js +57 -0
  155. package/dist/modules/certificates/data/constraints/CertificateBorderConstraint.js.map +1 -0
  156. package/dist/modules/certificates/data/constraints/CertificateCityConstraint.d.ts +31 -0
  157. package/dist/modules/certificates/data/constraints/CertificateCityConstraint.js +60 -0
  158. package/dist/modules/certificates/data/constraints/CertificateCityConstraint.js.map +1 -0
  159. package/dist/modules/certificates/data/constraints/CertificateIdentityConstraint.d.ts +9 -0
  160. package/dist/modules/certificates/data/constraints/CertificateIdentityConstraint.js +31 -0
  161. package/dist/modules/certificates/data/constraints/CertificateIdentityConstraint.js.map +1 -0
  162. package/dist/modules/certificates/data/constraints/CertificateTimeConstraint.d.ts +16 -0
  163. package/dist/modules/certificates/data/constraints/CertificateTimeConstraint.js +41 -0
  164. package/dist/modules/certificates/data/constraints/CertificateTimeConstraint.js.map +1 -0
  165. package/dist/modules/certificates/data/items/CertificateAuthorizationItem.d.ts +17 -0
  166. package/dist/modules/certificates/data/items/CertificateAuthorizationItem.js +39 -0
  167. package/dist/modules/certificates/data/items/CertificateAuthorizationItem.js.map +1 -0
  168. package/dist/modules/certificates/data/items/CertificateDelegateItem.d.ts +18 -0
  169. package/dist/modules/certificates/data/items/CertificateDelegateItem.js +46 -0
  170. package/dist/modules/certificates/data/items/CertificateDelegateItem.js.map +1 -0
  171. package/dist/modules/certificates/data/items/CertificatePrivateAttributeItem.d.ts +19 -0
  172. package/dist/modules/certificates/data/items/CertificatePrivateAttributeItem.js +42 -0
  173. package/dist/modules/certificates/data/items/CertificatePrivateAttributeItem.js.map +1 -0
  174. package/dist/modules/certificates/data/items/CertificatePrivateAttributeItemSource.d.ts +25 -0
  175. package/dist/modules/certificates/data/items/CertificatePrivateAttributeItemSource.js +55 -0
  176. package/dist/modules/certificates/data/items/CertificatePrivateAttributeItemSource.js.map +1 -0
  177. package/dist/modules/certificates/data/items/CertificatePublicAttributeItem.d.ts +14 -0
  178. package/dist/modules/certificates/data/items/CertificatePublicAttributeItem.js +39 -0
  179. package/dist/modules/certificates/data/items/CertificatePublicAttributeItem.js.map +1 -0
  180. package/dist/modules/certificates/data/items/CertificateRoleItem.d.ts +16 -0
  181. package/dist/modules/certificates/data/items/CertificateRoleItem.js +38 -0
  182. package/dist/modules/certificates/data/items/CertificateRoleItem.js.map +1 -0
  183. package/dist/modules/challenges/ChallengeController.d.ts +16 -0
  184. package/dist/modules/challenges/ChallengeController.js +123 -0
  185. package/dist/modules/challenges/ChallengeController.js.map +1 -0
  186. package/dist/modules/challenges/backbone/ChallengeAuthClient.d.ts +18 -0
  187. package/dist/modules/challenges/backbone/ChallengeAuthClient.js +14 -0
  188. package/dist/modules/challenges/backbone/ChallengeAuthClient.js.map +1 -0
  189. package/dist/modules/challenges/backbone/ChallengeClient.d.ts +6 -0
  190. package/dist/modules/challenges/backbone/ChallengeClient.js +11 -0
  191. package/dist/modules/challenges/backbone/ChallengeClient.js.map +1 -0
  192. package/dist/modules/challenges/data/Challenge.d.ts +22 -0
  193. package/dist/modules/challenges/data/Challenge.js +59 -0
  194. package/dist/modules/challenges/data/Challenge.js.map +1 -0
  195. package/dist/modules/challenges/data/ChallengeSigned.d.ts +18 -0
  196. package/dist/modules/challenges/data/ChallengeSigned.js +50 -0
  197. package/dist/modules/challenges/data/ChallengeSigned.js.map +1 -0
  198. package/dist/modules/devices/DeviceController.d.ts +27 -0
  199. package/dist/modules/devices/DeviceController.js +120 -0
  200. package/dist/modules/devices/DeviceController.js.map +1 -0
  201. package/dist/modules/devices/DeviceSecretController.d.ts +36 -0
  202. package/dist/modules/devices/DeviceSecretController.js +163 -0
  203. package/dist/modules/devices/DeviceSecretController.js.map +1 -0
  204. package/dist/modules/devices/DevicesController.d.ts +20 -0
  205. package/dist/modules/devices/DevicesController.js +96 -0
  206. package/dist/modules/devices/DevicesController.js.map +1 -0
  207. package/dist/modules/devices/backbone/BackbonePostDevices.d.ts +11 -0
  208. package/dist/modules/devices/backbone/BackbonePostDevices.js +3 -0
  209. package/dist/modules/devices/backbone/BackbonePostDevices.js.map +1 -0
  210. package/dist/modules/devices/backbone/DeviceAuthClient.d.ts +18 -0
  211. package/dist/modules/devices/backbone/DeviceAuthClient.js +21 -0
  212. package/dist/modules/devices/backbone/DeviceAuthClient.js.map +1 -0
  213. package/dist/modules/devices/backbone/DeviceClient.d.ts +7 -0
  214. package/dist/modules/devices/backbone/DeviceClient.js +15 -0
  215. package/dist/modules/devices/backbone/DeviceClient.js.map +1 -0
  216. package/dist/modules/devices/local/Device.d.ts +46 -0
  217. package/dist/modules/devices/local/Device.js +115 -0
  218. package/dist/modules/devices/local/Device.js.map +1 -0
  219. package/dist/modules/devices/local/DeviceSecretCredentials.d.ts +12 -0
  220. package/dist/modules/devices/local/DeviceSecretCredentials.js +40 -0
  221. package/dist/modules/devices/local/DeviceSecretCredentials.js.map +1 -0
  222. package/dist/modules/devices/local/SendDeviceParameters.d.ts +13 -0
  223. package/dist/modules/devices/local/SendDeviceParameters.js +43 -0
  224. package/dist/modules/devices/local/SendDeviceParameters.js.map +1 -0
  225. package/dist/modules/devices/transmission/DeviceSharedSecret.d.ts +33 -0
  226. package/dist/modules/devices/transmission/DeviceSharedSecret.js +90 -0
  227. package/dist/modules/devices/transmission/DeviceSharedSecret.js.map +1 -0
  228. package/dist/modules/files/FileController.d.ts +25 -0
  229. package/dist/modules/files/FileController.js +196 -0
  230. package/dist/modules/files/FileController.js.map +1 -0
  231. package/dist/modules/files/backbone/BackboneGetFiles.d.ts +21 -0
  232. package/dist/modules/files/backbone/BackboneGetFiles.js +3 -0
  233. package/dist/modules/files/backbone/BackboneGetFiles.js.map +1 -0
  234. package/dist/modules/files/backbone/BackbonePostFiles.d.ts +25 -0
  235. package/dist/modules/files/backbone/BackbonePostFiles.js +3 -0
  236. package/dist/modules/files/backbone/BackbonePostFiles.js.map +1 -0
  237. package/dist/modules/files/backbone/FileClient.d.ts +12 -0
  238. package/dist/modules/files/backbone/FileClient.js +23 -0
  239. package/dist/modules/files/backbone/FileClient.js.map +1 -0
  240. package/dist/modules/files/local/CachedFile.d.ts +47 -0
  241. package/dist/modules/files/local/CachedFile.js +140 -0
  242. package/dist/modules/files/local/CachedFile.js.map +1 -0
  243. package/dist/modules/files/local/File.d.ts +27 -0
  244. package/dist/modules/files/local/File.js +88 -0
  245. package/dist/modules/files/local/File.js.map +1 -0
  246. package/dist/modules/files/local/SendFileParameters.d.ts +23 -0
  247. package/dist/modules/files/local/SendFileParameters.js +65 -0
  248. package/dist/modules/files/local/SendFileParameters.js.map +1 -0
  249. package/dist/modules/files/transmission/FileMetadata.d.ts +24 -0
  250. package/dist/modules/files/transmission/FileMetadata.js +69 -0
  251. package/dist/modules/files/transmission/FileMetadata.js.map +1 -0
  252. package/dist/modules/files/transmission/FileReference.d.ts +15 -0
  253. package/dist/modules/files/transmission/FileReference.js +66 -0
  254. package/dist/modules/files/transmission/FileReference.js.map +1 -0
  255. package/dist/modules/index.d.ts +110 -0
  256. package/dist/modules/index.js +123 -0
  257. package/dist/modules/index.js.map +1 -0
  258. package/dist/modules/messages/MessageController.d.ts +29 -0
  259. package/dist/modules/messages/MessageController.js +316 -0
  260. package/dist/modules/messages/MessageController.js.map +1 -0
  261. package/dist/modules/messages/backbone/BackboneGetMessages.d.ts +25 -0
  262. package/dist/modules/messages/backbone/BackboneGetMessages.js +3 -0
  263. package/dist/modules/messages/backbone/BackboneGetMessages.js.map +1 -0
  264. package/dist/modules/messages/backbone/BackbonePostMessages.d.ts +16 -0
  265. package/dist/modules/messages/backbone/BackbonePostMessages.js +3 -0
  266. package/dist/modules/messages/backbone/BackbonePostMessages.js.map +1 -0
  267. package/dist/modules/messages/backbone/MessageClient.d.ts +12 -0
  268. package/dist/modules/messages/backbone/MessageClient.js +23 -0
  269. package/dist/modules/messages/backbone/MessageClient.js.map +1 -0
  270. package/dist/modules/messages/local/CachedMessage.d.ts +23 -0
  271. package/dist/modules/messages/local/CachedMessage.js +67 -0
  272. package/dist/modules/messages/local/CachedMessage.js.map +1 -0
  273. package/dist/modules/messages/local/Message.d.ts +26 -0
  274. package/dist/modules/messages/local/Message.js +87 -0
  275. package/dist/modules/messages/local/Message.js.map +1 -0
  276. package/dist/modules/messages/local/SendMessageParameters.d.ts +15 -0
  277. package/dist/modules/messages/local/SendMessageParameters.js +44 -0
  278. package/dist/modules/messages/local/SendMessageParameters.js.map +1 -0
  279. package/dist/modules/messages/transmission/MessageEnvelope.d.ts +24 -0
  280. package/dist/modules/messages/transmission/MessageEnvelope.js +81 -0
  281. package/dist/modules/messages/transmission/MessageEnvelope.js.map +1 -0
  282. package/dist/modules/messages/transmission/MessageEnvelopeRecipient.d.ts +16 -0
  283. package/dist/modules/messages/transmission/MessageEnvelopeRecipient.js +47 -0
  284. package/dist/modules/messages/transmission/MessageEnvelopeRecipient.js.map +1 -0
  285. package/dist/modules/messages/transmission/MessagePlain.d.ts +29 -0
  286. package/dist/modules/messages/transmission/MessagePlain.js +68 -0
  287. package/dist/modules/messages/transmission/MessagePlain.js.map +1 -0
  288. package/dist/modules/messages/transmission/MessageSignature.d.ts +11 -0
  289. package/dist/modules/messages/transmission/MessageSignature.js +36 -0
  290. package/dist/modules/messages/transmission/MessageSignature.js.map +1 -0
  291. package/dist/modules/messages/transmission/MessageSigned.d.ts +15 -0
  292. package/dist/modules/messages/transmission/MessageSigned.js +43 -0
  293. package/dist/modules/messages/transmission/MessageSigned.js.map +1 -0
  294. package/dist/modules/relationshipTemplates/RelationshipTemplateController.d.ts +26 -0
  295. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js +156 -0
  296. package/dist/modules/relationshipTemplates/RelationshipTemplateController.js.map +1 -0
  297. package/dist/modules/relationshipTemplates/backbone/BackboneGetRelationshipTemplates.d.ts +17 -0
  298. package/dist/modules/relationshipTemplates/backbone/BackboneGetRelationshipTemplates.js +3 -0
  299. package/dist/modules/relationshipTemplates/backbone/BackboneGetRelationshipTemplates.js.map +1 -0
  300. package/dist/modules/relationshipTemplates/backbone/BackbonePostRelationshipTemplates.d.ts +9 -0
  301. package/dist/modules/relationshipTemplates/backbone/BackbonePostRelationshipTemplates.js +3 -0
  302. package/dist/modules/relationshipTemplates/backbone/BackbonePostRelationshipTemplates.js.map +1 -0
  303. package/dist/modules/relationshipTemplates/backbone/RelationshipTemplateClient.d.ts +11 -0
  304. package/dist/modules/relationshipTemplates/backbone/RelationshipTemplateClient.js +20 -0
  305. package/dist/modules/relationshipTemplates/backbone/RelationshipTemplateClient.js.map +1 -0
  306. package/dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.d.ts +29 -0
  307. package/dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.js +80 -0
  308. package/dist/modules/relationshipTemplates/local/CachedRelationshipTemplate.js.map +1 -0
  309. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.d.ts +26 -0
  310. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js +85 -0
  311. package/dist/modules/relationshipTemplates/local/RelationshipTemplate.js.map +1 -0
  312. package/dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.d.ts +14 -0
  313. package/dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.js +44 -0
  314. package/dist/modules/relationshipTemplates/local/SendRelationshipTemplateParameters.js.map +1 -0
  315. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.d.ts +16 -0
  316. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.js +45 -0
  317. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateContent.js.map +1 -0
  318. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.d.ts +19 -0
  319. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.js +61 -0
  320. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplatePublicKey.js.map +1 -0
  321. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.d.ts +12 -0
  322. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js +39 -0
  323. package/dist/modules/relationshipTemplates/transmission/RelationshipTemplateSigned.js.map +1 -0
  324. package/dist/modules/relationships/RelationshipSecretController.d.ts +31 -0
  325. package/dist/modules/relationships/RelationshipSecretController.js +161 -0
  326. package/dist/modules/relationships/RelationshipSecretController.js.map +1 -0
  327. package/dist/modules/relationships/RelationshipsController.d.ts +47 -0
  328. package/dist/modules/relationships/RelationshipsController.js +472 -0
  329. package/dist/modules/relationships/RelationshipsController.js.map +1 -0
  330. package/dist/modules/relationships/backbone/BackboneGetRelationships.d.ts +18 -0
  331. package/dist/modules/relationships/backbone/BackboneGetRelationships.js +3 -0
  332. package/dist/modules/relationships/backbone/BackboneGetRelationships.js.map +1 -0
  333. package/dist/modules/relationships/backbone/BackboneGetRelationshipsChanges.d.ts +23 -0
  334. package/dist/modules/relationships/backbone/BackboneGetRelationshipsChanges.js +3 -0
  335. package/dist/modules/relationships/backbone/BackboneGetRelationshipsChanges.js.map +1 -0
  336. package/dist/modules/relationships/backbone/BackbonePostRelationshipsChanges.d.ts +8 -0
  337. package/dist/modules/relationships/backbone/BackbonePostRelationshipsChanges.js +3 -0
  338. package/dist/modules/relationships/backbone/BackbonePostRelationshipsChanges.js.map +1 -0
  339. package/dist/modules/relationships/backbone/RelationshipClient.d.ts +17 -0
  340. package/dist/modules/relationships/backbone/RelationshipClient.js +42 -0
  341. package/dist/modules/relationships/backbone/RelationshipClient.js.map +1 -0
  342. package/dist/modules/relationships/local/CachedRelationship.d.ts +18 -0
  343. package/dist/modules/relationships/local/CachedRelationship.js +53 -0
  344. package/dist/modules/relationships/local/CachedRelationship.js.map +1 -0
  345. package/dist/modules/relationships/local/Relationship.d.ts +37 -0
  346. package/dist/modules/relationships/local/Relationship.js +140 -0
  347. package/dist/modules/relationships/local/Relationship.js.map +1 -0
  348. package/dist/modules/relationships/local/SendRelationshipParameters.d.ts +13 -0
  349. package/dist/modules/relationships/local/SendRelationshipParameters.js +39 -0
  350. package/dist/modules/relationships/local/SendRelationshipParameters.js.map +1 -0
  351. package/dist/modules/relationships/transmission/RelationshipStatus.d.ts +8 -0
  352. package/dist/modules/relationships/transmission/RelationshipStatus.js +13 -0
  353. package/dist/modules/relationships/transmission/RelationshipStatus.js.map +1 -0
  354. package/dist/modules/relationships/transmission/changes/RelationshipChange.d.ts +27 -0
  355. package/dist/modules/relationships/transmission/changes/RelationshipChange.js +72 -0
  356. package/dist/modules/relationships/transmission/changes/RelationshipChange.js.map +1 -0
  357. package/dist/modules/relationships/transmission/changes/RelationshipChangeRequest.d.ts +20 -0
  358. package/dist/modules/relationships/transmission/changes/RelationshipChangeRequest.js +53 -0
  359. package/dist/modules/relationships/transmission/changes/RelationshipChangeRequest.js.map +1 -0
  360. package/dist/modules/relationships/transmission/changes/RelationshipChangeResponse.d.ts +20 -0
  361. package/dist/modules/relationships/transmission/changes/RelationshipChangeResponse.js +53 -0
  362. package/dist/modules/relationships/transmission/changes/RelationshipChangeResponse.js.map +1 -0
  363. package/dist/modules/relationships/transmission/changes/RelationshipChangeStatus.d.ts +6 -0
  364. package/dist/modules/relationships/transmission/changes/RelationshipChangeStatus.js +11 -0
  365. package/dist/modules/relationships/transmission/changes/RelationshipChangeStatus.js.map +1 -0
  366. package/dist/modules/relationships/transmission/changes/RelationshipChangeType.d.ts +5 -0
  367. package/dist/modules/relationships/transmission/changes/RelationshipChangeType.js +10 -0
  368. package/dist/modules/relationships/transmission/changes/RelationshipChangeType.js.map +1 -0
  369. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestCipher.d.ts +13 -0
  370. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestCipher.js +42 -0
  371. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestCipher.js.map +1 -0
  372. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestContent.d.ts +15 -0
  373. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestContent.js +44 -0
  374. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestContent.js.map +1 -0
  375. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestSigned.d.ts +14 -0
  376. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestSigned.js +44 -0
  377. package/dist/modules/relationships/transmission/requests/RelationshipCreationChangeRequestSigned.js.map +1 -0
  378. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseCipher.d.ts +13 -0
  379. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseCipher.js +42 -0
  380. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseCipher.js.map +1 -0
  381. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseContent.d.ts +12 -0
  382. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseContent.js +38 -0
  383. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseContent.js.map +1 -0
  384. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseSigned.d.ts +14 -0
  385. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseSigned.js +44 -0
  386. package/dist/modules/relationships/transmission/responses/RelationshipCreationChangeResponseSigned.js.map +1 -0
  387. package/dist/modules/secrets/SecretController.d.ts +39 -0
  388. package/dist/modules/secrets/SecretController.js +168 -0
  389. package/dist/modules/secrets/SecretController.js.map +1 -0
  390. package/dist/modules/secrets/data/SecretContainerCipher.d.ts +25 -0
  391. package/dist/modules/secrets/data/SecretContainerCipher.js +87 -0
  392. package/dist/modules/secrets/data/SecretContainerCipher.js.map +1 -0
  393. package/dist/modules/secrets/data/SecretContainerPlain.d.ts +25 -0
  394. package/dist/modules/secrets/data/SecretContainerPlain.js +76 -0
  395. package/dist/modules/secrets/data/SecretContainerPlain.js.map +1 -0
  396. package/dist/modules/sync/ChangedItems.d.ts +9 -0
  397. package/dist/modules/sync/ChangedItems.js +17 -0
  398. package/dist/modules/sync/ChangedItems.js.map +1 -0
  399. package/dist/modules/sync/DatawalletModificationMapper.d.ts +7 -0
  400. package/dist/modules/sync/DatawalletModificationMapper.js +62 -0
  401. package/dist/modules/sync/DatawalletModificationMapper.js.map +1 -0
  402. package/dist/modules/sync/DatawalletModificationsProcessor.d.ts +21 -0
  403. package/dist/modules/sync/DatawalletModificationsProcessor.js +111 -0
  404. package/dist/modules/sync/DatawalletModificationsProcessor.js.map +1 -0
  405. package/dist/modules/sync/ExternalEventsProcessor.d.ts +19 -0
  406. package/dist/modules/sync/ExternalEventsProcessor.js +83 -0
  407. package/dist/modules/sync/ExternalEventsProcessor.js.map +1 -0
  408. package/dist/modules/sync/SyncController.d.ts +37 -0
  409. package/dist/modules/sync/SyncController.js +214 -0
  410. package/dist/modules/sync/SyncController.js.map +1 -0
  411. package/dist/modules/sync/SynchronizedCollection.d.ts +18 -0
  412. package/dist/modules/sync/SynchronizedCollection.js +163 -0
  413. package/dist/modules/sync/SynchronizedCollection.js.map +1 -0
  414. package/dist/modules/sync/WhatToSync.d.ts +1 -0
  415. package/dist/modules/sync/WhatToSync.js +3 -0
  416. package/dist/modules/sync/WhatToSync.js.map +1 -0
  417. package/dist/modules/sync/backbone/BackboneDatawalletModification.d.ts +11 -0
  418. package/dist/modules/sync/backbone/BackboneDatawalletModification.js +3 -0
  419. package/dist/modules/sync/backbone/BackboneDatawalletModification.js.map +1 -0
  420. package/dist/modules/sync/backbone/BackboneExternalEvent.d.ts +8 -0
  421. package/dist/modules/sync/backbone/BackboneExternalEvent.js +3 -0
  422. package/dist/modules/sync/backbone/BackboneExternalEvent.js.map +1 -0
  423. package/dist/modules/sync/backbone/BackboneSyncRun.d.ts +9 -0
  424. package/dist/modules/sync/backbone/BackboneSyncRun.js +3 -0
  425. package/dist/modules/sync/backbone/BackboneSyncRun.js.map +1 -0
  426. package/dist/modules/sync/backbone/CreateDatawalletModifications.d.ts +19 -0
  427. package/dist/modules/sync/backbone/CreateDatawalletModifications.js +3 -0
  428. package/dist/modules/sync/backbone/CreateDatawalletModifications.js.map +1 -0
  429. package/dist/modules/sync/backbone/FinalizeSyncRun.d.ts +23 -0
  430. package/dist/modules/sync/backbone/FinalizeSyncRun.js +3 -0
  431. package/dist/modules/sync/backbone/FinalizeSyncRun.js.map +1 -0
  432. package/dist/modules/sync/backbone/GetDatawalletModifications.d.ts +3 -0
  433. package/dist/modules/sync/backbone/GetDatawalletModifications.js +3 -0
  434. package/dist/modules/sync/backbone/GetDatawalletModifications.js.map +1 -0
  435. package/dist/modules/sync/backbone/StartSyncRun.d.ts +9 -0
  436. package/dist/modules/sync/backbone/StartSyncRun.js +9 -0
  437. package/dist/modules/sync/backbone/StartSyncRun.js.map +1 -0
  438. package/dist/modules/sync/backbone/SyncClient.d.ts +15 -0
  439. package/dist/modules/sync/backbone/SyncClient.js +23 -0
  440. package/dist/modules/sync/backbone/SyncClient.js.map +1 -0
  441. package/dist/modules/sync/local/DatawalletModification.d.ts +30 -0
  442. package/dist/modules/sync/local/DatawalletModification.js +71 -0
  443. package/dist/modules/sync/local/DatawalletModification.js.map +1 -0
  444. package/dist/modules/tokens/AnonymousTokenController.d.ts +11 -0
  445. package/dist/modules/tokens/AnonymousTokenController.js +47 -0
  446. package/dist/modules/tokens/AnonymousTokenController.js.map +1 -0
  447. package/dist/modules/tokens/TokenController.d.ts +24 -0
  448. package/dist/modules/tokens/TokenController.js +137 -0
  449. package/dist/modules/tokens/TokenController.js.map +1 -0
  450. package/dist/modules/tokens/backbone/AnonymousTokenClient.d.ts +6 -0
  451. package/dist/modules/tokens/backbone/AnonymousTokenClient.js +11 -0
  452. package/dist/modules/tokens/backbone/AnonymousTokenClient.js.map +1 -0
  453. package/dist/modules/tokens/backbone/BackboneGetTokens.d.ts +11 -0
  454. package/dist/modules/tokens/backbone/BackboneGetTokens.js +3 -0
  455. package/dist/modules/tokens/backbone/BackboneGetTokens.js.map +1 -0
  456. package/dist/modules/tokens/backbone/BackbonePostTokens.d.ts +9 -0
  457. package/dist/modules/tokens/backbone/BackbonePostTokens.js +3 -0
  458. package/dist/modules/tokens/backbone/BackbonePostTokens.js.map +1 -0
  459. package/dist/modules/tokens/backbone/TokenClient.d.ts +11 -0
  460. package/dist/modules/tokens/backbone/TokenClient.js +20 -0
  461. package/dist/modules/tokens/backbone/TokenClient.js.map +1 -0
  462. package/dist/modules/tokens/local/CachedToken.d.ts +18 -0
  463. package/dist/modules/tokens/local/CachedToken.js +53 -0
  464. package/dist/modules/tokens/local/CachedToken.js.map +1 -0
  465. package/dist/modules/tokens/local/SendTokenParameters.d.ts +14 -0
  466. package/dist/modules/tokens/local/SendTokenParameters.js +43 -0
  467. package/dist/modules/tokens/local/SendTokenParameters.js.map +1 -0
  468. package/dist/modules/tokens/local/Token.d.ts +28 -0
  469. package/dist/modules/tokens/local/Token.js +91 -0
  470. package/dist/modules/tokens/local/Token.js.map +1 -0
  471. package/dist/modules/tokens/transmission/TokenContentDeviceSharedSecret.d.ts +10 -0
  472. package/dist/modules/tokens/transmission/TokenContentDeviceSharedSecret.js +34 -0
  473. package/dist/modules/tokens/transmission/TokenContentDeviceSharedSecret.js.map +1 -0
  474. package/dist/modules/tokens/transmission/TokenContentFile.d.ts +12 -0
  475. package/dist/modules/tokens/transmission/TokenContentFile.js +39 -0
  476. package/dist/modules/tokens/transmission/TokenContentFile.js.map +1 -0
  477. package/dist/modules/tokens/transmission/TokenContentRelationshipTemplate.d.ts +12 -0
  478. package/dist/modules/tokens/transmission/TokenContentRelationshipTemplate.js +39 -0
  479. package/dist/modules/tokens/transmission/TokenContentRelationshipTemplate.js.map +1 -0
  480. package/dist/modules/tokens/transmission/TokenReference.d.ts +14 -0
  481. package/dist/modules/tokens/transmission/TokenReference.js +71 -0
  482. package/dist/modules/tokens/transmission/TokenReference.js.map +1 -0
  483. package/dist/util/PasswordGenerator.d.ts +28 -0
  484. package/dist/util/PasswordGenerator.js +179 -0
  485. package/dist/util/PasswordGenerator.js.map +1 -0
  486. package/dist/util/Random.d.ts +50 -0
  487. package/dist/util/Random.js +129 -0
  488. package/dist/util/Random.js.map +1 -0
  489. package/dist/util/index.d.ts +2 -0
  490. package/dist/util/index.js +15 -0
  491. package/dist/util/index.js.map +1 -0
  492. package/lib-web/nmshd.transport.js +54733 -0
  493. package/lib-web/nmshd.transport.js.map +1 -0
  494. package/lib-web/nmshd.transport.min.js +3 -0
  495. package/lib-web/nmshd.transport.min.js.map +1 -0
  496. package/package.json +109 -0
  497. package/ui5.yaml +9 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatawalletModificationsProcessor.js","sourceRoot":"","sources":["../../../src/modules/sync/DatawalletModificationsProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { MessageController } from "../messages/MessageController";
2
+ import { RelationshipsController } from "../relationships/RelationshipsController";
3
+ import { BackboneExternalEvent } from "./backbone/BackboneExternalEvent";
4
+ import { FinalizeSyncRunRequestExternalEventResult } from "./backbone/FinalizeSyncRun";
5
+ import { ChangedItems } from "./ChangedItems";
6
+ export declare class ExternalEventsProcessor {
7
+ private readonly messagesController;
8
+ private readonly relationshipsController;
9
+ private readonly externalEvents;
10
+ private readonly log;
11
+ readonly changedItems: ChangedItems;
12
+ readonly results: FinalizeSyncRunRequestExternalEventResult[];
13
+ constructor(messagesController: MessageController, relationshipsController: RelationshipsController, externalEvents: BackboneExternalEvent[]);
14
+ execute(): Promise<void>;
15
+ private applyRelationshipChangeCompletedEvent;
16
+ private applyRelationshipChangeCreatedEvent;
17
+ private applyMessageDeliveredEvent;
18
+ private applyMessageReceivedEvent;
19
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalEventsProcessor = void 0;
4
+ const core_1 = require("../../core");
5
+ const ChangedItems_1 = require("./ChangedItems");
6
+ class ExternalEventsProcessor {
7
+ constructor(messagesController, relationshipsController, externalEvents) {
8
+ this.messagesController = messagesController;
9
+ this.relationshipsController = relationshipsController;
10
+ this.externalEvents = externalEvents;
11
+ this.changedItems = new ChangedItems_1.ChangedItems();
12
+ this.results = [];
13
+ this.log = core_1.TransportLoggerFactory.getLogger(ExternalEventsProcessor);
14
+ }
15
+ async execute() {
16
+ for (const externalEvent of this.externalEvents) {
17
+ try {
18
+ switch (externalEvent.type) {
19
+ case "MessageReceived":
20
+ await this.applyMessageReceivedEvent(externalEvent);
21
+ break;
22
+ case "MessageDelivered":
23
+ await this.applyMessageDeliveredEvent(externalEvent);
24
+ break;
25
+ case "RelationshipChangeCreated":
26
+ await this.applyRelationshipChangeCreatedEvent(externalEvent);
27
+ break;
28
+ case "RelationshipChangeCompleted":
29
+ await this.applyRelationshipChangeCompletedEvent(externalEvent);
30
+ break;
31
+ default:
32
+ throw new Error(`'${externalEvent.type}' is not a supported external event type.`);
33
+ }
34
+ this.results.push({
35
+ externalEventId: externalEvent.id
36
+ });
37
+ }
38
+ catch (e) {
39
+ this.log.error("There was an error while trying to apply an external event: ", e);
40
+ let errorCode;
41
+ if (e.code) {
42
+ errorCode = e.code;
43
+ }
44
+ else if (e.message) {
45
+ errorCode = e.message;
46
+ }
47
+ else {
48
+ errorCode = JSON.stringify(e);
49
+ }
50
+ this.results.push({
51
+ externalEventId: externalEvent.id,
52
+ errorCode: errorCode
53
+ });
54
+ }
55
+ }
56
+ }
57
+ async applyRelationshipChangeCompletedEvent(externalEvent) {
58
+ const payload = externalEvent.payload;
59
+ const relationship = await this.relationshipsController.applyChangeById(payload.changeId);
60
+ if (relationship) {
61
+ this.changedItems.addRelationship(relationship);
62
+ }
63
+ }
64
+ async applyRelationshipChangeCreatedEvent(externalEvent) {
65
+ const payload = externalEvent.payload;
66
+ const relationship = await this.relationshipsController.applyChangeById(payload.changeId);
67
+ if (relationship) {
68
+ this.changedItems.addRelationship(relationship);
69
+ }
70
+ }
71
+ async applyMessageDeliveredEvent(externalEvent) {
72
+ const messageReceivedPayload = externalEvent.payload;
73
+ const updatedMessages = await this.messagesController.updateCache([messageReceivedPayload.id]);
74
+ this.changedItems.addMessage(updatedMessages[0]);
75
+ }
76
+ async applyMessageReceivedEvent(externalEvent) {
77
+ const newMessagePayload = externalEvent.payload;
78
+ const newMessage = await this.messagesController.loadPeerMessage(core_1.CoreId.from(newMessagePayload.id));
79
+ this.changedItems.addMessage(newMessage);
80
+ }
81
+ }
82
+ exports.ExternalEventsProcessor = ExternalEventsProcessor;
83
+ //# sourceMappingURL=ExternalEventsProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalEventsProcessor.js","sourceRoot":"","sources":["../../../src/modules/sync/ExternalEventsProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { IDatabaseCollection } from "@js-soft/docdb-access-abstractions";
2
+ import { CoreDate, TransportController } from "../../core";
3
+ import { AccountController } from "../accounts/AccountController";
4
+ import { ChangedItems } from "./ChangedItems";
5
+ import { WhatToSync } from "./WhatToSync";
6
+ export declare class SyncController extends TransportController {
7
+ private readonly unpushedDatawalletModifications;
8
+ private readonly datawalletEnabled;
9
+ private client;
10
+ private syncInfo;
11
+ constructor(parent: AccountController, unpushedDatawalletModifications: IDatabaseCollection, datawalletEnabled: boolean);
12
+ init(): Promise<SyncController>;
13
+ private currentSync?;
14
+ private currentSyncRun?;
15
+ sync(): Promise<ChangedItems>;
16
+ sync(whatToSync: "OnlyDatawallet"): Promise<void>;
17
+ sync(whatToSync: "Everything"): Promise<ChangedItems>;
18
+ sync(whatToSync: WhatToSync): Promise<ChangedItems | void>;
19
+ private _sync;
20
+ private syncDatawallet;
21
+ private applyIncomingDatawalletModifications;
22
+ private decryptDatawalletModifications;
23
+ private pushLocalDatawalletModifications;
24
+ private prepareLocalDatawalletModificationsForPush;
25
+ private deleteUnpushedDatawalletModifications;
26
+ private startSyncRun;
27
+ private applyIncomingExternalEvents;
28
+ private finalizeSyncRun;
29
+ private getLocalDatawalletModificationIndex;
30
+ private updateLocalDatawalletModificationIndex;
31
+ private getSyncTimeByName;
32
+ private setSyncTimeByName;
33
+ getLastCompletedSyncTime(): Promise<CoreDate | undefined>;
34
+ getLastCompletedDatawalletSyncTime(): Promise<CoreDate | undefined>;
35
+ private setLastCompletedSyncTime;
36
+ private setLastCompletedDatawalletSyncTime;
37
+ }
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SyncController = void 0;
4
+ const core_1 = require("../../core");
5
+ const StartSyncRun_1 = require("./backbone/StartSyncRun");
6
+ const SyncClient_1 = require("./backbone/SyncClient");
7
+ const ChangedItems_1 = require("./ChangedItems");
8
+ const DatawalletModificationMapper_1 = require("./DatawalletModificationMapper");
9
+ const DatawalletModificationsProcessor_1 = require("./DatawalletModificationsProcessor");
10
+ const ExternalEventsProcessor_1 = require("./ExternalEventsProcessor");
11
+ const DatawalletModification_1 = require("./local/DatawalletModification");
12
+ class SyncController extends core_1.TransportController {
13
+ constructor(parent, unpushedDatawalletModifications, datawalletEnabled) {
14
+ super(core_1.ControllerName.Sync, parent);
15
+ this.unpushedDatawalletModifications = unpushedDatawalletModifications;
16
+ this.datawalletEnabled = datawalletEnabled;
17
+ }
18
+ async init() {
19
+ await super.init();
20
+ this.client = new SyncClient_1.SyncClient(this.config, this.parent.authenticator);
21
+ this.syncInfo = await this.db.getMap("SyncInfo");
22
+ return this;
23
+ }
24
+ async sync(whatToSync = "Everything") {
25
+ var _a;
26
+ if ((_a = this.currentSync) === null || _a === void 0 ? void 0 : _a.includes(whatToSync)) {
27
+ return await this.currentSync.promise;
28
+ }
29
+ if (this.currentSync && !this.currentSync.includes(whatToSync)) {
30
+ await this.currentSync.promise;
31
+ return await this.sync(whatToSync);
32
+ }
33
+ const syncPromise = this._sync(whatToSync);
34
+ this.currentSync = new LocalSyncRun(syncPromise, whatToSync);
35
+ try {
36
+ return await this.currentSync.promise;
37
+ }
38
+ finally {
39
+ if (this.datawalletEnabled && (await this.unpushedDatawalletModifications.exists())) {
40
+ await this.syncDatawallet().catch((e) => this.log.error(e));
41
+ }
42
+ this.currentSync = undefined;
43
+ }
44
+ }
45
+ async _sync(whatToSync) {
46
+ if (whatToSync === "OnlyDatawallet") {
47
+ return await this.syncDatawallet();
48
+ }
49
+ const syncRunWasStarted = await this.startSyncRun();
50
+ if (!syncRunWasStarted) {
51
+ await this.syncDatawallet();
52
+ await this.setLastCompletedSyncTime();
53
+ return new ChangedItems_1.ChangedItems();
54
+ }
55
+ await this.applyIncomingDatawalletModifications();
56
+ const result = await this.applyIncomingExternalEvents();
57
+ await this.finalizeSyncRun(result.results);
58
+ await this.setLastCompletedSyncTime();
59
+ if (result.results.some((r) => r.errorCode !== undefined)) {
60
+ throw new core_1.CoreError("error.transport.errorWhileApplyingExternalEvents", result.results
61
+ .filter((r) => r.errorCode !== undefined)
62
+ .map((r) => r.errorCode)
63
+ .join(" | ")).logWith(this.log);
64
+ }
65
+ return result.changedItems;
66
+ }
67
+ async syncDatawallet() {
68
+ if (!this.datawalletEnabled) {
69
+ return;
70
+ }
71
+ this.log.trace("Synchronization of Datawallet events started...");
72
+ await this.applyIncomingDatawalletModifications();
73
+ await this.pushLocalDatawalletModifications();
74
+ await this.setLastCompletedDatawalletSyncTime();
75
+ this.log.trace("Synchronization of Datawallet events ended...");
76
+ }
77
+ async applyIncomingDatawalletModifications() {
78
+ const getDatawalletModificationsResult = await this.client.getDatawalletModifications({
79
+ localIndex: await this.getLocalDatawalletModificationIndex()
80
+ });
81
+ const encryptedIncomingModifications = await getDatawalletModificationsResult.value.collect();
82
+ if (encryptedIncomingModifications.length === 0) {
83
+ return;
84
+ }
85
+ const incomingModifications = await this.decryptDatawalletModifications(encryptedIncomingModifications);
86
+ this.log.trace(`${incomingModifications.length} incoming modifications found`);
87
+ const datawalletModificationsProcessor = new DatawalletModificationsProcessor_1.DatawalletModificationsProcessor(this._db, incomingModifications, this.parent.files, this.parent.messages, this.parent.relationshipTemplates, this.parent.relationships, this.parent.tokens);
88
+ await datawalletModificationsProcessor.execute();
89
+ this.log.trace(`${incomingModifications.length} incoming modifications executed`, incomingModifications);
90
+ await this.updateLocalDatawalletModificationIndex(encryptedIncomingModifications.sort(descending)[0].index);
91
+ }
92
+ async decryptDatawalletModifications(encryptedModifications) {
93
+ const decryptedModifications = [];
94
+ for (const encryptedModification of encryptedModifications) {
95
+ const decryptedPayload = await this.parent.activeDevice.secrets.decryptDatawalletModificationPayload(encryptedModification.encryptedPayload, encryptedModification.index);
96
+ const decryptedModification = await DatawalletModificationMapper_1.DatawalletModificationMapper.fromBackboneDatawalletModification(encryptedModification, decryptedPayload);
97
+ decryptedModifications.push(decryptedModification);
98
+ }
99
+ return decryptedModifications;
100
+ }
101
+ async pushLocalDatawalletModifications() {
102
+ const { backboneModifications, localModificationIds } = await this.prepareLocalDatawalletModificationsForPush();
103
+ if (backboneModifications.length === 0) {
104
+ return;
105
+ }
106
+ const result = await this.client.createDatawalletModifications({
107
+ localIndex: await this.getLocalDatawalletModificationIndex(),
108
+ modifications: backboneModifications
109
+ });
110
+ await this.deleteUnpushedDatawalletModifications(localModificationIds);
111
+ await this.updateLocalDatawalletModificationIndex(result.value.newIndex);
112
+ }
113
+ async prepareLocalDatawalletModificationsForPush() {
114
+ const backboneModifications = [];
115
+ const localModificationIds = [];
116
+ if (!this.datawalletEnabled) {
117
+ return { backboneModifications, localModificationIds };
118
+ }
119
+ const localDatawalletModifications = await this.parseArray(await this.unpushedDatawalletModifications.list(), DatawalletModification_1.DatawalletModification);
120
+ const localIndex = await this.getLocalDatawalletModificationIndex();
121
+ let calculatedIndex = typeof localIndex !== "number" ? 0 : localIndex + 1;
122
+ for (const localModification of localDatawalletModifications) {
123
+ const encryptedPayload = await this.parent.activeDevice.secrets.encryptDatawalletModificationPayload(localModification, calculatedIndex++);
124
+ const backboneModification = DatawalletModificationMapper_1.DatawalletModificationMapper.toCreateDatawalletModificationsRequestItem(localModification, encryptedPayload);
125
+ localModificationIds.push(localModification.localId);
126
+ backboneModifications.push(backboneModification);
127
+ }
128
+ return { backboneModifications, localModificationIds };
129
+ }
130
+ async deleteUnpushedDatawalletModifications(localModificationIds) {
131
+ for (const localModificationId of localModificationIds) {
132
+ await this.unpushedDatawalletModifications.delete({ localId: localModificationId.toString() });
133
+ }
134
+ }
135
+ async startSyncRun() {
136
+ var _a;
137
+ const result = await this.client.startSyncRun();
138
+ if (result.value.status === StartSyncRun_1.StartSyncRunStatus.NoNewEvents) {
139
+ return false;
140
+ }
141
+ this.currentSyncRun = (_a = result.value.syncRun) !== null && _a !== void 0 ? _a : undefined;
142
+ return this.currentSyncRun !== undefined;
143
+ }
144
+ async applyIncomingExternalEvents() {
145
+ const getExternalEventsResult = await this.client.getExternalEventsOfSyncRun(this.currentSyncRun.id.toString());
146
+ if (getExternalEventsResult.isError) {
147
+ throw getExternalEventsResult.error;
148
+ }
149
+ const externalEvents = await getExternalEventsResult.value.collect();
150
+ const externalEventProcessor = new ExternalEventsProcessor_1.ExternalEventsProcessor(this.parent.messages, this.parent.relationships, externalEvents);
151
+ await externalEventProcessor.execute();
152
+ return { results: externalEventProcessor.results, changedItems: externalEventProcessor.changedItems };
153
+ }
154
+ async finalizeSyncRun(externalEventResults) {
155
+ if (!this.currentSyncRun) {
156
+ throw new Error("There is no active sync run to finalize");
157
+ }
158
+ const { backboneModifications, localModificationIds } = await this.prepareLocalDatawalletModificationsForPush();
159
+ await this.client.finalizeSyncRun(this.currentSyncRun.id.toString(), {
160
+ datawalletModifications: backboneModifications,
161
+ externalEventResults: externalEventResults
162
+ });
163
+ await this.deleteUnpushedDatawalletModifications(localModificationIds);
164
+ const oldDatawalletModificationIndex = await this.getLocalDatawalletModificationIndex();
165
+ const newDatawalletModificationIndex = (oldDatawalletModificationIndex || -1) + backboneModifications.length;
166
+ await this.updateLocalDatawalletModificationIndex(newDatawalletModificationIndex);
167
+ this.currentSyncRun = undefined;
168
+ }
169
+ async getLocalDatawalletModificationIndex() {
170
+ const index = await this.syncInfo.get("localDatawalletModificationIndex");
171
+ return index;
172
+ }
173
+ async updateLocalDatawalletModificationIndex(newIndex) {
174
+ await this.syncInfo.set("localDatawalletModificationIndex", newIndex);
175
+ }
176
+ async getSyncTimeByName(name) {
177
+ const time = await this.syncInfo.get(`SyncTime-${name}`);
178
+ const date = time ? core_1.CoreDate.from(time) : undefined;
179
+ return date;
180
+ }
181
+ async setSyncTimeByName(name) {
182
+ const dateString = core_1.CoreDate.utc().toISOString();
183
+ await this.syncInfo.set(`SyncTime-${name}`, dateString);
184
+ }
185
+ async getLastCompletedSyncTime() {
186
+ return await this.getSyncTimeByName("Everything");
187
+ }
188
+ async getLastCompletedDatawalletSyncTime() {
189
+ return await this.getSyncTimeByName("Datawallet");
190
+ }
191
+ async setLastCompletedSyncTime() {
192
+ await this.setSyncTimeByName("Everything");
193
+ }
194
+ async setLastCompletedDatawalletSyncTime() {
195
+ await this.setSyncTimeByName("Datawallet");
196
+ }
197
+ }
198
+ exports.SyncController = SyncController;
199
+ function descending(modification1, modification2) {
200
+ return modification2.index - modification1.index;
201
+ }
202
+ class LocalSyncRun {
203
+ constructor(promise, whatToSync) {
204
+ this.promise = promise;
205
+ this.whatToSync = whatToSync;
206
+ }
207
+ includes(whatToSync) {
208
+ if (this.whatToSync === "Everything") {
209
+ return true;
210
+ }
211
+ return whatToSync === "OnlyDatawallet";
212
+ }
213
+ }
214
+ //# sourceMappingURL=SyncController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncController.js","sourceRoot":"","sources":["../../../src/modules/sync/SyncController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { DatabaseType, IDatabaseCollection } from "@js-soft/docdb-access-abstractions";
2
+ import { CoreSynchronizable, ICoreSynchronizable } from "../../core/CoreSynchronizable";
3
+ export declare class SynchronizedCollection implements IDatabaseCollection {
4
+ private readonly parent;
5
+ private readonly datawalletModifications?;
6
+ readonly name: string;
7
+ readonly databaseType: DatabaseType;
8
+ constructor(parent: IDatabaseCollection, datawalletModifications?: IDatabaseCollection | undefined);
9
+ create(newObject: CoreSynchronizable): Promise<any>;
10
+ read(id: string): Promise<any>;
11
+ update(oldDoc: any, newObject: CoreSynchronizable): Promise<any>;
12
+ delete(object: CoreSynchronizable | ICoreSynchronizable): Promise<boolean>;
13
+ list(): Promise<any[]>;
14
+ find(query?: any): Promise<any[]>;
15
+ count(query?: any): Promise<number>;
16
+ exists(query?: any): Promise<boolean>;
17
+ findOne(object?: any): Promise<any>;
18
+ }
@@ -0,0 +1,163 @@
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.SynchronizedCollection = void 0;
7
+ const fast_json_patch_1 = __importDefault(require("fast-json-patch"));
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const ts_simple_nameof_1 = require("ts-simple-nameof");
10
+ const CoreIds_1 = require("../../core/CoreIds");
11
+ const CoreSerializableAsync_1 = require("../../core/CoreSerializableAsync");
12
+ const ICacheable_1 = require("../../core/ICacheable");
13
+ const DatawalletModification_1 = require("../sync/local/DatawalletModification");
14
+ class SynchronizedCollection {
15
+ constructor(parent, datawalletModifications) {
16
+ this.parent = parent;
17
+ this.datawalletModifications = datawalletModifications;
18
+ this.name = parent.name;
19
+ this.databaseType = parent.databaseType;
20
+ }
21
+ async create(newObject) {
22
+ const newObjectJson = newObject.toJSON();
23
+ if (!this.datawalletModifications) {
24
+ return await this.parent.create(newObject);
25
+ }
26
+ const technicalModificationPayload = lodash_1.default.pickBy(newObjectJson, (value, key) => value !== undefined && newObject.technicalProperties.includes(key));
27
+ const metadataModificationPayload = lodash_1.default.pickBy(newObjectJson, (value, key) => value !== undefined && newObject.metadataProperties.includes(key));
28
+ const userdataModificationPayload = lodash_1.default.pickBy(newObjectJson, (value, key) => value !== undefined && newObject.userdataProperties.includes(key));
29
+ const objectIdentifier = newObject["id"];
30
+ if (Object.getOwnPropertyNames(technicalModificationPayload).length !== 0) {
31
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
32
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
33
+ type: DatawalletModification_1.DatawalletModificationType.Create,
34
+ collection: this.name,
35
+ objectIdentifier: objectIdentifier,
36
+ payloadCategory: DatawalletModification_1.DatawalletModificationCategory.TechnicalData,
37
+ payload: technicalModificationPayload
38
+ }));
39
+ }
40
+ if (Object.getOwnPropertyNames(metadataModificationPayload).length !== 0) {
41
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
42
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
43
+ type: DatawalletModification_1.DatawalletModificationType.Create,
44
+ collection: this.name,
45
+ objectIdentifier: objectIdentifier,
46
+ payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Metadata,
47
+ payload: metadataModificationPayload
48
+ }));
49
+ }
50
+ if (Object.getOwnPropertyNames(userdataModificationPayload).length !== 0) {
51
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
52
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
53
+ type: DatawalletModification_1.DatawalletModificationType.Create,
54
+ collection: this.name,
55
+ objectIdentifier: objectIdentifier,
56
+ payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Userdata,
57
+ payload: userdataModificationPayload
58
+ }));
59
+ }
60
+ if ((0, ICacheable_1.isCacheable)(newObject)) {
61
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
62
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
63
+ type: DatawalletModification_1.DatawalletModificationType.CacheChanged,
64
+ collection: this.name,
65
+ objectIdentifier: objectIdentifier
66
+ }));
67
+ }
68
+ await this.parent.create(newObject);
69
+ }
70
+ async read(id) {
71
+ return await this.parent.read(id);
72
+ }
73
+ async update(oldDoc, newObject) {
74
+ const oldObject = await CoreSerializableAsync_1.CoreSerializableAsync.fromUnknown(oldDoc);
75
+ const newObjectJson = newObject.toJSON();
76
+ if (!this.datawalletModifications) {
77
+ return await this.parent.update(oldDoc, newObject);
78
+ }
79
+ const diff = fast_json_patch_1.default.compare(oldObject.toJSON(), newObjectJson);
80
+ const changedRootProperties = [];
81
+ for (const diffItem of diff) {
82
+ const splittedPath = diffItem.path.split("/");
83
+ const rootProperty = splittedPath.find((p) => p);
84
+ changedRootProperties.push(rootProperty);
85
+ }
86
+ const haveTechnicalPropertiesChanged = lodash_1.default.intersection(newObject.technicalProperties, changedRootProperties).length !== 0;
87
+ const haveMetadataPropertiesChanged = lodash_1.default.intersection(newObject.metadataProperties, changedRootProperties).length !== 0;
88
+ const haveUserdataPropertiesChanged = lodash_1.default.intersection(newObject.userdataProperties, changedRootProperties).length !== 0;
89
+ const hasCacheChanged = changedRootProperties.some((p) => p === (0, ts_simple_nameof_1.nameof)((c) => c.cache));
90
+ const objectIdentifier = newObject["id"];
91
+ if (haveTechnicalPropertiesChanged) {
92
+ const payload = lodash_1.default.pick(newObjectJson, newObject.technicalProperties);
93
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
94
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
95
+ type: DatawalletModification_1.DatawalletModificationType.Update,
96
+ collection: this.name,
97
+ objectIdentifier: objectIdentifier,
98
+ payloadCategory: DatawalletModification_1.DatawalletModificationCategory.TechnicalData,
99
+ payload: payload
100
+ }));
101
+ }
102
+ if (haveMetadataPropertiesChanged) {
103
+ const payload = lodash_1.default.pick(newObjectJson, newObject.metadataProperties);
104
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
105
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
106
+ type: DatawalletModification_1.DatawalletModificationType.Update,
107
+ collection: this.name,
108
+ objectIdentifier: objectIdentifier,
109
+ payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Metadata,
110
+ payload: payload
111
+ }));
112
+ }
113
+ if (haveUserdataPropertiesChanged) {
114
+ const payload = lodash_1.default.pick(newObjectJson, newObject.userdataProperties);
115
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
116
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
117
+ type: DatawalletModification_1.DatawalletModificationType.Update,
118
+ collection: this.name,
119
+ objectIdentifier: objectIdentifier,
120
+ payloadCategory: DatawalletModification_1.DatawalletModificationCategory.Userdata,
121
+ payload: payload
122
+ }));
123
+ }
124
+ if (hasCacheChanged) {
125
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
126
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
127
+ type: DatawalletModification_1.DatawalletModificationType.CacheChanged,
128
+ collection: this.name,
129
+ objectIdentifier: objectIdentifier
130
+ }));
131
+ }
132
+ return await this.parent.update(oldDoc, newObject);
133
+ }
134
+ async delete(object) {
135
+ if (!this.datawalletModifications) {
136
+ return await this.parent.delete({ id: object.id.toString() });
137
+ }
138
+ await this.datawalletModifications.create(DatawalletModification_1.DatawalletModification.from({
139
+ localId: await CoreIds_1.TransportIds.datawalletModification.generate(),
140
+ type: DatawalletModification_1.DatawalletModificationType.Delete,
141
+ collection: this.name,
142
+ objectIdentifier: object.id
143
+ }));
144
+ return await this.parent.delete({ id: object.id.toString() });
145
+ }
146
+ async list() {
147
+ return await this.parent.list();
148
+ }
149
+ async find(query) {
150
+ return await this.parent.find(query);
151
+ }
152
+ async count(query) {
153
+ return await this.parent.count(query);
154
+ }
155
+ async exists(query) {
156
+ return await this.parent.exists(query);
157
+ }
158
+ async findOne(object) {
159
+ return await this.parent.findOne(object);
160
+ }
161
+ }
162
+ exports.SynchronizedCollection = SynchronizedCollection;
163
+ //# sourceMappingURL=SynchronizedCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SynchronizedCollection.js","sourceRoot":"","sources":["../../../src/modules/sync/SynchronizedCollection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare type WhatToSync = "OnlyDatawallet" | "Everything";
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WhatToSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhatToSync.js","sourceRoot":"","sources":["../../../src/modules/sync/WhatToSync.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export interface BackboneDatawalletModification {
2
+ id: string;
3
+ index: number;
4
+ objectIdentifier: string;
5
+ payloadCategory: string | null;
6
+ createdAt: string;
7
+ createdByDevice: string;
8
+ collection: string;
9
+ type: string;
10
+ encryptedPayload: string | null;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BackboneDatawalletModification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackboneDatawalletModification.js","sourceRoot":"","sources":["../../../../src/modules/sync/backbone/BackboneDatawalletModification.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface BackboneExternalEvent {
2
+ id: string;
3
+ type: string;
4
+ index: number;
5
+ createdAt: string;
6
+ syncErrorCount: number;
7
+ payload: object;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BackboneExternalEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackboneExternalEvent.js","sourceRoot":"","sources":["../../../../src/modules/sync/backbone/BackboneExternalEvent.ts"],"names":[],"mappings":""}