@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,472 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelationshipsController = void 0;
4
+ const crypto_1 = require("@nmshd/crypto");
5
+ const ts_simple_nameof_1 = require("ts-simple-nameof");
6
+ const core_1 = require("../../core");
7
+ const CoreIds_1 = require("../../core/CoreIds");
8
+ const CoreUtil_1 = require("../../core/CoreUtil");
9
+ const DbCollectionNames_1 = require("../../core/DbCollectionNames");
10
+ const TransportErrors_1 = require("../../core/TransportErrors");
11
+ const RelationshipTemplate_1 = require("../relationshipTemplates/local/RelationshipTemplate");
12
+ const RelationshipClient_1 = require("./backbone/RelationshipClient");
13
+ const CachedRelationship_1 = require("./local/CachedRelationship");
14
+ const Relationship_1 = require("./local/Relationship");
15
+ const SendRelationshipParameters_1 = require("./local/SendRelationshipParameters");
16
+ const RelationshipChange_1 = require("./transmission/changes/RelationshipChange");
17
+ const RelationshipChangeResponse_1 = require("./transmission/changes/RelationshipChangeResponse");
18
+ const RelationshipChangeStatus_1 = require("./transmission/changes/RelationshipChangeStatus");
19
+ const RelationshipChangeType_1 = require("./transmission/changes/RelationshipChangeType");
20
+ const RelationshipStatus_1 = require("./transmission/RelationshipStatus");
21
+ const RelationshipCreationChangeRequestCipher_1 = require("./transmission/requests/RelationshipCreationChangeRequestCipher");
22
+ const RelationshipCreationChangeRequestContent_1 = require("./transmission/requests/RelationshipCreationChangeRequestContent");
23
+ const RelationshipCreationChangeRequestSigned_1 = require("./transmission/requests/RelationshipCreationChangeRequestSigned");
24
+ const RelationshipCreationChangeResponseCipher_1 = require("./transmission/responses/RelationshipCreationChangeResponseCipher");
25
+ const RelationshipCreationChangeResponseContent_1 = require("./transmission/responses/RelationshipCreationChangeResponseContent");
26
+ const RelationshipCreationChangeResponseSigned_1 = require("./transmission/responses/RelationshipCreationChangeResponseSigned");
27
+ class RelationshipsController extends core_1.TransportController {
28
+ constructor(parent, secrets) {
29
+ super(core_1.ControllerName.Relationships, parent);
30
+ this.secrets = secrets;
31
+ }
32
+ async init() {
33
+ await super.init();
34
+ this.client = new RelationshipClient_1.RelationshipClient(this.config, this.parent.authenticator);
35
+ this.relationships = await this.parent.getSynchronizedCollection(DbCollectionNames_1.DbCollectionNames.Relationships);
36
+ return this;
37
+ }
38
+ async getRelationships(query) {
39
+ const relationshipDocs = await this.relationships.find(query);
40
+ return await this.parseArray(relationshipDocs, Relationship_1.Relationship);
41
+ }
42
+ async updateCache(ids) {
43
+ const resultItems = (await this.client.getRelationships({ ids })).value;
44
+ const promises = [];
45
+ for await (const resultItem of resultItems) {
46
+ promises.push(this.updateCacheOfExistingRelationshipInDb(resultItem.id, resultItem));
47
+ }
48
+ return await Promise.all(promises);
49
+ }
50
+ async updateCacheOfExistingRelationshipInDb(id, response) {
51
+ const relationshipDoc = await this.relationships.read(id);
52
+ if (!relationshipDoc) {
53
+ throw TransportErrors_1.TransportErrors.general.recordNotFound(Relationship_1.Relationship, id).logWith(this._log);
54
+ }
55
+ const relationship = await Relationship_1.Relationship.from(relationshipDoc);
56
+ await this.updateCacheOfRelationship(relationship, response);
57
+ await this.relationships.update(relationshipDoc, relationship);
58
+ return relationship;
59
+ }
60
+ async getRelationshipToIdentity(address, status) {
61
+ const query = {
62
+ [`${(0, ts_simple_nameof_1.nameof)((r) => r.peer)}.${(0, ts_simple_nameof_1.nameof)((r) => r.address)}`]: address.toString()
63
+ };
64
+ if (status) {
65
+ query[`${(0, ts_simple_nameof_1.nameof)((r) => r.status)}`] = status;
66
+ }
67
+ const relationshipDoc = await this.relationships.findOne(query);
68
+ if (!relationshipDoc) {
69
+ return;
70
+ }
71
+ return await Relationship_1.Relationship.from(relationshipDoc);
72
+ }
73
+ async getActiveRelationshipToIdentity(address) {
74
+ return await this.getRelationshipToIdentity(address, RelationshipStatus_1.RelationshipStatus.Active);
75
+ }
76
+ async getRelationship(id) {
77
+ const relationshipDoc = await this.relationships.read(id.toString());
78
+ if (!relationshipDoc) {
79
+ return;
80
+ }
81
+ return await Relationship_1.Relationship.from(relationshipDoc);
82
+ }
83
+ async sign(relationship, content) {
84
+ return await this.secrets.sign(relationship.relationshipSecretId, content);
85
+ }
86
+ async verify(relationship, content, signature) {
87
+ return await this.secrets.verifyPeer(relationship.relationshipSecretId, content, signature);
88
+ }
89
+ async verifyIdentity(relationship, content, signature) {
90
+ return await core_1.CoreCrypto.verify(content, signature, relationship.peer.publicKey);
91
+ }
92
+ async sendRelationship(parameters) {
93
+ parameters = await SendRelationshipParameters_1.SendRelationshipParameters.from(parameters);
94
+ const template = parameters.template;
95
+ if (!template.cache) {
96
+ throw TransportErrors_1.TransportErrors.general.cacheEmpty(RelationshipTemplate_1.RelationshipTemplate, template.id.toString()).logWith(this._log);
97
+ }
98
+ const secretId = await CoreIds_1.TransportIds.relationshipSecret.generate();
99
+ const { requestCipher, requestContent } = await this.prepareRequest(secretId, template, parameters.content);
100
+ const backboneResponse = (await this.client.createRelationship({
101
+ content: requestCipher.toBase64(),
102
+ relationshipTemplateId: template.id.toString()
103
+ })).value;
104
+ const newRelationship = await Relationship_1.Relationship.fromRequestSent(core_1.CoreId.from(backboneResponse.id), template, template.cache.identity, await RelationshipChange_1.RelationshipChange.fromBackbone(backboneResponse.changes[0], requestContent.content), secretId);
105
+ await this.relationships.create(newRelationship);
106
+ return newRelationship;
107
+ }
108
+ async setRelationshipMetadata(idOrRelationship, metadata) {
109
+ const id = idOrRelationship instanceof core_1.CoreId ? idOrRelationship.toString() : idOrRelationship.id.toString();
110
+ const relationshipDoc = await this.relationships.read(id);
111
+ if (!relationshipDoc) {
112
+ throw TransportErrors_1.TransportErrors.general.recordNotFound(Relationship_1.Relationship, id.toString()).logWith(this._log);
113
+ }
114
+ const relationship = await Relationship_1.Relationship.from(relationshipDoc);
115
+ relationship.metadata = metadata;
116
+ relationship.metadataModifiedAt = core_1.CoreDate.utc();
117
+ await this.relationships.update(relationshipDoc, relationship);
118
+ return relationship;
119
+ }
120
+ requestTermination() {
121
+ throw TransportErrors_1.TransportErrors.general.notImplemented();
122
+ }
123
+ async acceptChange(change, content) {
124
+ return await this.completeChange(RelationshipChangeStatus_1.RelationshipChangeStatus.Accepted, change, content);
125
+ }
126
+ async rejectChange(change, content) {
127
+ return await this.completeChange(RelationshipChangeStatus_1.RelationshipChangeStatus.Rejected, change, content);
128
+ }
129
+ async revokeChange(change, content) {
130
+ return await this.completeChange(RelationshipChangeStatus_1.RelationshipChangeStatus.Revoked, change, content);
131
+ }
132
+ async updateCacheOfRelationship(relationship, response) {
133
+ if (!response) {
134
+ response = (await this.client.getRelationship(relationship.id.toString())).value;
135
+ }
136
+ const templateId = core_1.CoreId.from(response.relationshipTemplateId);
137
+ this._log.trace(`Parsing relationship template ${templateId} for ${relationship.id}...`);
138
+ const template = await this.parent.relationshipTemplates.getRelationshipTemplate(templateId);
139
+ if (!template) {
140
+ throw TransportErrors_1.TransportErrors.general.recordNotFound(RelationshipTemplate_1.RelationshipTemplate, templateId.toString());
141
+ }
142
+ this._log.trace(`Parsing relationship changes of ${relationship.id}...`);
143
+ const changesPromises = [];
144
+ for (const change of response.changes) {
145
+ switch (change.type) {
146
+ case RelationshipChangeType_1.RelationshipChangeType.Creation:
147
+ changesPromises.push(this.parseCreationChange(change, relationship, templateId));
148
+ break;
149
+ default:
150
+ break;
151
+ }
152
+ }
153
+ const changes = await Promise.all(changesPromises);
154
+ const cachedRelationship = await CachedRelationship_1.CachedRelationship.from({
155
+ changes: changes,
156
+ template: template
157
+ });
158
+ relationship.setCache(cachedRelationship);
159
+ }
160
+ async prepareRequest(relationshipSecretId, template, content) {
161
+ if (!template.cache) {
162
+ throw TransportErrors_1.TransportErrors.general.cacheEmpty(RelationshipTemplate_1.RelationshipTemplate, template.id.toString()).logWith(this._log);
163
+ }
164
+ const requestPublic = await this.secrets.createRequestorSecrets(template.cache, relationshipSecretId);
165
+ const requestContent = await RelationshipCreationChangeRequestContent_1.RelationshipCreationChangeRequestContent.from({
166
+ content: content,
167
+ identity: this.parent.identity.identity,
168
+ templateId: template.id
169
+ });
170
+ const serializedRequest = requestContent.serialize();
171
+ const buffer = CoreUtil_1.CoreUtil.toBuffer(serializedRequest);
172
+ const [deviceSignature, relationshipSignature] = await Promise.all([
173
+ this.parent.activeDevice.sign(buffer),
174
+ this.secrets.sign(relationshipSecretId, buffer)
175
+ ]);
176
+ const signedRequest = await RelationshipCreationChangeRequestSigned_1.RelationshipCreationChangeRequestSigned.from({
177
+ serializedRequest: serializedRequest,
178
+ deviceSignature: deviceSignature,
179
+ relationshipSignature: relationshipSignature
180
+ });
181
+ const cipher = await this.secrets.encryptRequest(relationshipSecretId, signedRequest);
182
+ const requestCipher = await RelationshipCreationChangeRequestCipher_1.RelationshipCreationChangeRequestCipher.from({
183
+ cipher: cipher,
184
+ publicRequestCrypto: requestPublic
185
+ });
186
+ return { requestCipher, requestContent };
187
+ }
188
+ async applyChangeById(changeId) {
189
+ const relationshipChange = (await this.client.getRelationshipChange(changeId.toString())).value;
190
+ return await this.applyChange(relationshipChange);
191
+ }
192
+ async applyChange(change) {
193
+ switch (change.type) {
194
+ case RelationshipChangeType_1.RelationshipChangeType.Creation:
195
+ return await this.applyCreationChange(change);
196
+ case RelationshipChangeType_1.RelationshipChangeType.Termination:
197
+ return await this.applyTerminationChange(change);
198
+ case RelationshipChangeType_1.RelationshipChangeType.TerminationCancellation:
199
+ return await this.applyTerminationCancellationChange(change);
200
+ default:
201
+ throw TransportErrors_1.TransportErrors.general.incompatibleBackbone().logWith(this._log);
202
+ }
203
+ }
204
+ async applyCreationChange(change) {
205
+ const relationshipDoc = await this.relationships.read(change.relationshipId);
206
+ if (relationshipDoc) {
207
+ // Incoming change from sync might still have an empty response
208
+ // This could happen if we've processed the change before (duplicate)
209
+ if (change.response) {
210
+ return await this.updatePendingRelationshipWithPeerResponse(relationshipDoc, change);
211
+ }
212
+ // If we have a relationship already but no response, do nothing
213
+ return undefined;
214
+ }
215
+ const newRelationship = await this.createNewRelationshipByIncomingCreationChange(change);
216
+ if (change.response) {
217
+ // The request was revoked before we fetched the creation,
218
+ // thus the creation and revoke change is one
219
+ const relationshipDoc = await this.relationships.read(change.relationshipId);
220
+ return await this.updatePendingRelationshipWithPeerResponse(relationshipDoc, change);
221
+ }
222
+ return newRelationship;
223
+ }
224
+ async parseCreationChange(change, relationship, templateId) {
225
+ if (change.type !== RelationshipChangeType_1.RelationshipChangeType.Creation) {
226
+ throw TransportErrors_1.TransportErrors.relationships.wrongChangeType(change.type).logWith(this._log);
227
+ }
228
+ const promises = [];
229
+ promises.push(this.decryptCreationChangeRequest(change.request, relationship.relationshipSecretId, templateId));
230
+ const hasRelationshipSecret = await this.secrets.hasCryptoRelationshipSecrets(relationship.relationshipSecretId);
231
+ if (change.response && hasRelationshipSecret) {
232
+ promises.push(this.decryptCreationChangeResponse(change, relationship));
233
+ }
234
+ const [requestContent, responseContent] = await Promise.all(promises);
235
+ const creationChange = await RelationshipChange_1.RelationshipChange.fromBackbone(change, requestContent.content, responseContent === null || responseContent === void 0 ? void 0 : responseContent.content);
236
+ return creationChange;
237
+ }
238
+ async decryptCreationChangeRequest(change, secretId, templateId) {
239
+ if (!change.content) {
240
+ throw TransportErrors_1.TransportErrors.relationships.emptyOrInvalidContent().logWith(this._log);
241
+ }
242
+ const isOwnChange = this.parent.identity.isMe(core_1.CoreAddress.from(change.createdBy));
243
+ const requestCipher = await RelationshipCreationChangeRequestCipher_1.RelationshipCreationChangeRequestCipher.fromBase64(change.content);
244
+ const signedRequestBuffer = await this.secrets.decryptRequest(secretId, requestCipher.cipher);
245
+ const signedRequest = await RelationshipCreationChangeRequestSigned_1.RelationshipCreationChangeRequestSigned.deserialize(signedRequestBuffer.toUtf8());
246
+ let relationshipSignatureValid;
247
+ if (isOwnChange) {
248
+ relationshipSignatureValid = await this.secrets.verifyOwn(secretId, crypto_1.CoreBuffer.fromUtf8(signedRequest.serializedRequest), signedRequest.relationshipSignature);
249
+ }
250
+ else {
251
+ relationshipSignatureValid = await this.secrets.verifyPeer(secretId, crypto_1.CoreBuffer.fromUtf8(signedRequest.serializedRequest), signedRequest.relationshipSignature);
252
+ }
253
+ if (!relationshipSignatureValid) {
254
+ throw TransportErrors_1.TransportErrors.general.signatureNotValid("relationshipRequest").logWith(this._log);
255
+ }
256
+ const requestContent = await RelationshipCreationChangeRequestContent_1.RelationshipCreationChangeRequestContent.deserialize(signedRequest.serializedRequest);
257
+ if (requestContent.templateId.toString() !== templateId.toString()) {
258
+ throw TransportErrors_1.TransportErrors.relationships.requestContainsWrongTemplateId().logWith(this._log);
259
+ }
260
+ return requestContent;
261
+ }
262
+ async decryptCreationChangeResponse(change, relationship) {
263
+ if (!change.response) {
264
+ throw TransportErrors_1.TransportErrors.relationships.changeResponseMissing(change.id).logWith(this._log);
265
+ }
266
+ if (change.type !== RelationshipChangeType_1.RelationshipChangeType.Creation) {
267
+ throw TransportErrors_1.TransportErrors.relationships.wrongChangeType(change.type).logWith(this._log);
268
+ }
269
+ if (!change.response.content) {
270
+ throw TransportErrors_1.TransportErrors.relationships.emptyOrInvalidContent(change).logWith(this._log);
271
+ }
272
+ const isOwnChange = this.parent.identity.isMe(core_1.CoreAddress.from(change.response.createdBy));
273
+ const cipher = await RelationshipCreationChangeResponseCipher_1.RelationshipCreationChangeResponseCipher.fromBase64(change.response.content);
274
+ let signedResponseBuffer;
275
+ if (change.status !== RelationshipChangeStatus_1.RelationshipChangeStatus.Revoked) {
276
+ if (isOwnChange) {
277
+ signedResponseBuffer = await this.secrets.decryptOwn(relationship.relationshipSecretId, cipher.cipher);
278
+ }
279
+ else {
280
+ signedResponseBuffer = await this.secrets.decryptPeer(relationship.relationshipSecretId, cipher.cipher, true);
281
+ }
282
+ }
283
+ else {
284
+ signedResponseBuffer = await this.secrets.decryptRequest(relationship.relationshipSecretId, cipher.cipher);
285
+ }
286
+ const signedResponse = await RelationshipCreationChangeResponseSigned_1.RelationshipCreationChangeResponseSigned.deserialize(signedResponseBuffer.toUtf8());
287
+ let relationshipSignatureValid;
288
+ if (isOwnChange) {
289
+ relationshipSignatureValid = await this.secrets.verifyOwn(relationship.relationshipSecretId, crypto_1.CoreBuffer.fromUtf8(signedResponse.serializedResponse), signedResponse.relationshipSignature);
290
+ }
291
+ else {
292
+ relationshipSignatureValid = await this.secrets.verifyPeer(relationship.relationshipSecretId, crypto_1.CoreBuffer.fromUtf8(signedResponse.serializedResponse), signedResponse.relationshipSignature);
293
+ }
294
+ if (!relationshipSignatureValid) {
295
+ throw TransportErrors_1.TransportErrors.general.signatureNotValid("relationshipResponse").logWith(this._log);
296
+ }
297
+ const responseContent = await RelationshipCreationChangeResponseContent_1.RelationshipCreationChangeResponseContent.deserialize(signedResponse.serializedResponse);
298
+ if (responseContent.relationshipId.toString() !== relationship.id.toString()) {
299
+ throw TransportErrors_1.TransportErrors.relationships.responseContainsWrongRequestId().logWith(this._log);
300
+ }
301
+ return responseContent;
302
+ }
303
+ async updatePendingRelationshipWithPeerResponse(relationshipDoc, change) {
304
+ const relationship = await Relationship_1.Relationship.from(relationshipDoc);
305
+ if (relationship.status !== RelationshipStatus_1.RelationshipStatus.Pending) {
306
+ this.log.debug("Trying to update non-pending relationship with creation change", change);
307
+ return;
308
+ }
309
+ if (!relationship.cache) {
310
+ await this.updateCacheOfRelationship(relationship, undefined);
311
+ }
312
+ if (!change.response) {
313
+ throw TransportErrors_1.TransportErrors.relationships.changeResponseMissing(change.id).logWith(this._log);
314
+ }
315
+ if (!change.response.content) {
316
+ throw TransportErrors_1.TransportErrors.relationships.emptyOrInvalidContent(change).logWith(this._log);
317
+ }
318
+ const cipher = await RelationshipCreationChangeResponseCipher_1.RelationshipCreationChangeResponseCipher.fromBase64(change.response.content);
319
+ if (change.status !== RelationshipChangeStatus_1.RelationshipChangeStatus.Revoked) {
320
+ if (!cipher.publicResponseCrypto) {
321
+ throw TransportErrors_1.TransportErrors.relationships.responseCryptoIsMissing().logWith(this._log);
322
+ }
323
+ await this.secrets.convertSecrets(relationship.relationshipSecretId, cipher.publicResponseCrypto);
324
+ }
325
+ const responseContent = await this.decryptCreationChangeResponse(change, relationship);
326
+ const response = await RelationshipChangeResponse_1.RelationshipChangeResponse.fromBackbone(change.response, responseContent.content);
327
+ if (!relationship.cache) {
328
+ throw TransportErrors_1.TransportErrors.general.cacheEmpty(Relationship_1.Relationship, relationship.id.toString());
329
+ }
330
+ relationship.cache.changes[0].status = change.status;
331
+ switch (change.status) {
332
+ case RelationshipChangeStatus_1.RelationshipChangeStatus.Accepted:
333
+ relationship.toActive(response);
334
+ break;
335
+ case RelationshipChangeStatus_1.RelationshipChangeStatus.Rejected:
336
+ relationship.toRejected(response);
337
+ break;
338
+ case RelationshipChangeStatus_1.RelationshipChangeStatus.Revoked:
339
+ relationship.toRevoked(response);
340
+ break;
341
+ default:
342
+ throw TransportErrors_1.TransportErrors.general.incompatibleBackbone().logWith(this._log);
343
+ }
344
+ await this.relationships.update(relationshipDoc, relationship);
345
+ return relationship;
346
+ }
347
+ async createNewRelationshipByIncomingCreationChange(change) {
348
+ const backboneRelationship = (await this.client.getRelationship(change.relationshipId)).value;
349
+ const templateId = core_1.CoreId.from(backboneRelationship.relationshipTemplateId);
350
+ const template = await this.parent.relationshipTemplates.getRelationshipTemplate(templateId);
351
+ if (!template) {
352
+ throw TransportErrors_1.TransportErrors.general.recordNotFound(RelationshipTemplate_1.RelationshipTemplate, templateId.toString()).logWith(this._log);
353
+ }
354
+ if (!template.cache) {
355
+ throw TransportErrors_1.TransportErrors.general.cacheEmpty(RelationshipTemplate_1.RelationshipTemplate, template.id.toString()).logWith(this._log);
356
+ }
357
+ if (!change.request.content) {
358
+ throw TransportErrors_1.TransportErrors.relationships.emptyOrInvalidContent(change).logWith(this._log);
359
+ }
360
+ const secretId = await CoreIds_1.TransportIds.relationshipSecret.generate();
361
+ const requestCipher = await RelationshipCreationChangeRequestCipher_1.RelationshipCreationChangeRequestCipher.fromBase64(change.request.content);
362
+ await this.secrets.createTemplatorSecrets(secretId, template.cache, requestCipher.publicRequestCrypto);
363
+ const requestContent = await this.decryptCreationChangeRequest(backboneRelationship.changes[0].request, secretId, templateId);
364
+ const relationshipChange = await RelationshipChange_1.RelationshipChange.fromBackbone(change, requestContent.content);
365
+ const relationship = await Relationship_1.Relationship.fromCreationChangeReceived(backboneRelationship, template, requestContent.identity, relationshipChange, secretId);
366
+ await this.relationships.create(relationship);
367
+ return relationship;
368
+ }
369
+ applyTerminationChange(_change) {
370
+ throw TransportErrors_1.TransportErrors.general.notImplemented();
371
+ }
372
+ applyTerminationCancellationChange(_change) {
373
+ throw TransportErrors_1.TransportErrors.general.notImplemented();
374
+ }
375
+ async completeChange(targetStatus, change, content) {
376
+ const relationshipDoc = await this.relationships.read(change.relationshipId.toString());
377
+ if (!relationshipDoc) {
378
+ throw TransportErrors_1.TransportErrors.general
379
+ .recordNotFound(Relationship_1.Relationship, change.relationshipId.toString())
380
+ .logWith(this._log);
381
+ }
382
+ const relationship = await Relationship_1.Relationship.from(relationshipDoc);
383
+ if (!relationship.cache) {
384
+ await this.updateCacheOfRelationship(relationship);
385
+ }
386
+ if (!relationship.cache) {
387
+ throw TransportErrors_1.TransportErrors.general.cacheEmpty(Relationship_1.Relationship, relationship.id.toString());
388
+ }
389
+ const queriedChange = relationship.cache.changes.find((r) => r.id.toString() === change.id.toString());
390
+ if (!queriedChange) {
391
+ throw TransportErrors_1.TransportErrors.general.recordNotFound(RelationshipChange_1.RelationshipChange, change.id.toString()).logWith(this._log);
392
+ }
393
+ if (queriedChange.status !== RelationshipChangeStatus_1.RelationshipChangeStatus.Pending) {
394
+ throw TransportErrors_1.TransportErrors.relationships.wrongChangeStatus(queriedChange.status).logWith(this._log);
395
+ }
396
+ let encryptedContent;
397
+ if (content) {
398
+ encryptedContent =
399
+ targetStatus === RelationshipChangeStatus_1.RelationshipChangeStatus.Revoked
400
+ ? await this.encryptRevokeContent(relationship, content)
401
+ : await this.encryptAcceptRejectContent(relationship, content);
402
+ }
403
+ let backboneResponse;
404
+ switch (targetStatus) {
405
+ case RelationshipChangeStatus_1.RelationshipChangeStatus.Accepted:
406
+ backboneResponse = (await this.client.acceptRelationshipChange(relationship.id.toString(), change.id.toString(), encryptedContent)).value;
407
+ break;
408
+ case RelationshipChangeStatus_1.RelationshipChangeStatus.Rejected:
409
+ backboneResponse = (await this.client.rejectRelationshipChange(relationship.id.toString(), change.id.toString(), encryptedContent)).value;
410
+ break;
411
+ case RelationshipChangeStatus_1.RelationshipChangeStatus.Revoked:
412
+ backboneResponse = (await this.client.revokeRelationshipChange(relationship.id.toString(), change.id.toString(), encryptedContent)).value;
413
+ break;
414
+ default:
415
+ throw new Error("target change status not supported");
416
+ }
417
+ const backboneChange = backboneResponse.changes[backboneResponse.changes.length - 1];
418
+ queriedChange.response = await RelationshipChangeResponse_1.RelationshipChangeResponse.fromBackbone(backboneResponse.changes[backboneResponse.changes.length - 1].response, content);
419
+ queriedChange.status = backboneChange.status;
420
+ relationship.status = backboneResponse.status;
421
+ await this.relationships.update(relationshipDoc, relationship);
422
+ return relationship;
423
+ }
424
+ async encryptRevokeContent(relationship, content) {
425
+ const responseContent = await RelationshipCreationChangeResponseContent_1.RelationshipCreationChangeResponseContent.from({
426
+ relationshipId: relationship.id,
427
+ content: content
428
+ });
429
+ const serializedResponse = responseContent.serialize();
430
+ const buffer = CoreUtil_1.CoreUtil.toBuffer(serializedResponse);
431
+ const [deviceSignature, relationshipSignature] = await Promise.all([
432
+ this.parent.activeDevice.sign(buffer),
433
+ this.secrets.sign(relationship.relationshipSecretId, buffer)
434
+ ]);
435
+ const signedResponse = await RelationshipCreationChangeResponseSigned_1.RelationshipCreationChangeResponseSigned.from({
436
+ serializedResponse: serializedResponse,
437
+ deviceSignature: deviceSignature,
438
+ relationshipSignature: relationshipSignature
439
+ });
440
+ const cipher = await this.secrets.encryptRequest(relationship.relationshipSecretId, signedResponse);
441
+ const responseCipher = await RelationshipCreationChangeResponseCipher_1.RelationshipCreationChangeResponseCipher.from({
442
+ cipher: cipher
443
+ });
444
+ return responseCipher.toBase64();
445
+ }
446
+ async encryptAcceptRejectContent(relationship, content) {
447
+ const publicResponseCrypto = await this.secrets.getPublicResponse(relationship.relationshipSecretId);
448
+ const responseContent = await RelationshipCreationChangeResponseContent_1.RelationshipCreationChangeResponseContent.from({
449
+ relationshipId: relationship.id,
450
+ content: content
451
+ });
452
+ const serializedResponse = responseContent.serialize();
453
+ const buffer = CoreUtil_1.CoreUtil.toBuffer(serializedResponse);
454
+ const [deviceSignature, relationshipSignature] = await Promise.all([
455
+ this.parent.activeDevice.sign(buffer),
456
+ this.secrets.sign(relationship.relationshipSecretId, buffer)
457
+ ]);
458
+ const signedResponse = await RelationshipCreationChangeResponseSigned_1.RelationshipCreationChangeResponseSigned.from({
459
+ serializedResponse: serializedResponse,
460
+ deviceSignature: deviceSignature,
461
+ relationshipSignature: relationshipSignature
462
+ });
463
+ const cipher = await this.secrets.encrypt(relationship.relationshipSecretId, signedResponse);
464
+ const responseCipher = await RelationshipCreationChangeResponseCipher_1.RelationshipCreationChangeResponseCipher.from({
465
+ cipher: cipher,
466
+ publicResponseCrypto: publicResponseCrypto
467
+ });
468
+ return responseCipher.toBase64();
469
+ }
470
+ }
471
+ exports.RelationshipsController = RelationshipsController;
472
+ //# sourceMappingURL=RelationshipsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationshipsController.js","sourceRoot":"","sources":["../../../src/modules/relationships/RelationshipsController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { RelationshipStatus } from "../transmission/RelationshipStatus";
2
+ import { BackboneGetRelationshipsChangesResponse } from "./BackboneGetRelationshipsChanges";
3
+ export interface BackboneGetRelationshipsRequest {
4
+ ids: string[];
5
+ }
6
+ export interface BackboneGetRelationshipsResponse {
7
+ id: string;
8
+ relationshipTemplateId: string;
9
+ from: string;
10
+ to: string;
11
+ changes: BackboneGetRelationshipsChangesResponse[];
12
+ createdAt: string;
13
+ status: RelationshipStatus;
14
+ }
15
+ export interface BackboneGetRelationshipsDateRange<T> {
16
+ from?: T;
17
+ to?: T;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BackboneGetRelationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackboneGetRelationships.js","sourceRoot":"","sources":["../../../../src/modules/relationships/backbone/BackboneGetRelationships.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { RelationshipChangeStatus } from "../transmission/changes/RelationshipChangeStatus";
2
+ import { RelationshipChangeType } from "../transmission/changes/RelationshipChangeType";
3
+ export interface BackboneGetRelationshipsChangesRequest {
4
+ ids: string[];
5
+ }
6
+ export interface BackboneGetRelationshipsChangesResponse {
7
+ id: string;
8
+ relationshipId: string;
9
+ request: BackboneGetRelationshipsChangesSingleChangeResponse;
10
+ response: BackboneGetRelationshipsChangesSingleChangeResponse | null;
11
+ status: RelationshipChangeStatus;
12
+ type: RelationshipChangeType;
13
+ }
14
+ export interface BackboneGetRelationshipsChangesSingleChangeResponse {
15
+ createdBy: string;
16
+ createdByDevice: string;
17
+ createdAt: string;
18
+ content: string | null;
19
+ }
20
+ export interface BackboneGetRelationshipsChangesDateRange<T> {
21
+ from?: T;
22
+ to?: T;
23
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BackboneGetRelationshipsChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackboneGetRelationshipsChanges.js","sourceRoot":"","sources":["../../../../src/modules/relationships/backbone/BackboneGetRelationshipsChanges.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { RelationshipChangeType } from "../transmission/changes/RelationshipChangeType";
2
+ export interface BackbonePostRelationshipsRequest {
3
+ relationshipTemplateId: string;
4
+ content: any;
5
+ }
6
+ export interface BackbonePostRelationshipsChangesRequest {
7
+ type: RelationshipChangeType;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=BackbonePostRelationshipsChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackbonePostRelationshipsChanges.js","sourceRoot":"","sources":["../../../../src/modules/relationships/backbone/BackbonePostRelationshipsChanges.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { ClientResult } from "../../../core/backbone/ClientResult";
2
+ import { Paginator } from "../../../core/backbone/Paginator";
3
+ import { RESTClientAuthenticate } from "../../../core/backbone/RESTClientAuthenticate";
4
+ import { BackboneGetRelationshipsRequest, BackboneGetRelationshipsResponse } from "./BackboneGetRelationships";
5
+ import { BackboneGetRelationshipsChangesRequest, BackboneGetRelationshipsChangesResponse } from "./BackboneGetRelationshipsChanges";
6
+ import { BackbonePostRelationshipsChangesRequest, BackbonePostRelationshipsRequest } from "./BackbonePostRelationshipsChanges";
7
+ export declare class RelationshipClient extends RESTClientAuthenticate {
8
+ createRelationship(request: BackbonePostRelationshipsRequest): Promise<ClientResult<BackboneGetRelationshipsResponse>>;
9
+ createRelationshipChange(id: string, request: BackbonePostRelationshipsChangesRequest): Promise<ClientResult<BackboneGetRelationshipsResponse>>;
10
+ acceptRelationshipChange(relationshipId: string, changeId: string, content?: any): Promise<ClientResult<BackboneGetRelationshipsResponse>>;
11
+ rejectRelationshipChange(relationshipId: string, changeId: string, content?: any): Promise<ClientResult<BackboneGetRelationshipsResponse>>;
12
+ revokeRelationshipChange(relationshipId: string, changeId: string, content?: any): Promise<ClientResult<BackboneGetRelationshipsResponse>>;
13
+ getRelationships(request?: BackboneGetRelationshipsRequest): Promise<ClientResult<Paginator<BackboneGetRelationshipsResponse>>>;
14
+ getRelationship(relationshipId: string): Promise<ClientResult<BackboneGetRelationshipsResponse>>;
15
+ getRelationshipChanges(request?: BackboneGetRelationshipsChangesRequest): Promise<ClientResult<Paginator<BackboneGetRelationshipsChangesResponse>>>;
16
+ getRelationshipChange(relationshipChangeId: string): Promise<ClientResult<BackboneGetRelationshipsChangesResponse>>;
17
+ }