@nmshd/consumption 7.0.0-alpha.7 → 7.0.0-alpha.71

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 (331) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/consumption/ConsumptionBaseController.d.ts.map +1 -1
  3. package/dist/consumption/ConsumptionBaseController.js +6 -1
  4. package/dist/consumption/ConsumptionBaseController.js.map +1 -1
  5. package/dist/consumption/ConsumptionConfig.d.ts +1 -1
  6. package/dist/consumption/ConsumptionConfig.d.ts.map +1 -1
  7. package/dist/consumption/ConsumptionController.d.ts +1 -3
  8. package/dist/consumption/ConsumptionController.d.ts.map +1 -1
  9. package/dist/consumption/ConsumptionController.js +6 -12
  10. package/dist/consumption/ConsumptionController.js.map +1 -1
  11. package/dist/consumption/ConsumptionControllerName.d.ts +0 -1
  12. package/dist/consumption/ConsumptionControllerName.d.ts.map +1 -1
  13. package/dist/consumption/ConsumptionControllerName.js +0 -1
  14. package/dist/consumption/ConsumptionControllerName.js.map +1 -1
  15. package/dist/consumption/ConsumptionCoreErrors.d.ts +10 -37
  16. package/dist/consumption/ConsumptionCoreErrors.d.ts.map +1 -1
  17. package/dist/consumption/ConsumptionCoreErrors.js +26 -113
  18. package/dist/consumption/ConsumptionCoreErrors.js.map +1 -1
  19. package/dist/consumption/ConsumptionIds.d.ts +1 -1
  20. package/dist/consumption/ConsumptionIds.d.ts.map +1 -1
  21. package/dist/consumption/ConsumptionIds.js +1 -1
  22. package/dist/consumption/ConsumptionIds.js.map +1 -1
  23. package/dist/modules/attributes/AttributesController.d.ts +124 -68
  24. package/dist/modules/attributes/AttributesController.d.ts.map +1 -1
  25. package/dist/modules/attributes/AttributesController.js +761 -709
  26. package/dist/modules/attributes/AttributesController.js.map +1 -1
  27. package/dist/modules/attributes/events/AttributeCreatedEvent.d.ts +1 -1
  28. package/dist/modules/attributes/events/AttributeCreatedEvent.d.ts.map +1 -1
  29. package/dist/modules/attributes/events/AttributeDeletedEvent.d.ts +1 -1
  30. package/dist/modules/attributes/events/AttributeDeletedEvent.d.ts.map +1 -1
  31. package/dist/modules/attributes/events/AttributeForwardingDetailsChangedEvent.d.ts +9 -0
  32. package/dist/modules/attributes/events/AttributeForwardingDetailsChangedEvent.d.ts.map +1 -0
  33. package/dist/modules/attributes/events/AttributeForwardingDetailsChangedEvent.js +12 -0
  34. package/dist/modules/attributes/events/AttributeForwardingDetailsChangedEvent.js.map +1 -0
  35. package/dist/modules/attributes/events/AttributeSucceededEvent.d.ts +11 -0
  36. package/dist/modules/attributes/events/AttributeSucceededEvent.d.ts.map +1 -0
  37. package/dist/modules/attributes/events/AttributeSucceededEvent.js +12 -0
  38. package/dist/modules/attributes/events/AttributeSucceededEvent.js.map +1 -0
  39. package/dist/modules/attributes/events/AttributeWasViewedAtChangedEvent.d.ts +7 -0
  40. package/dist/modules/attributes/events/AttributeWasViewedAtChangedEvent.d.ts.map +1 -0
  41. package/dist/modules/attributes/events/AttributeWasViewedAtChangedEvent.js +12 -0
  42. package/dist/modules/attributes/events/AttributeWasViewedAtChangedEvent.js.map +1 -0
  43. package/dist/modules/attributes/events/ForwardedAttributeDeletedByPeerEvent.d.ts +7 -0
  44. package/dist/modules/attributes/events/ForwardedAttributeDeletedByPeerEvent.d.ts.map +1 -0
  45. package/dist/modules/attributes/events/ForwardedAttributeDeletedByPeerEvent.js +12 -0
  46. package/dist/modules/attributes/events/ForwardedAttributeDeletedByPeerEvent.js.map +1 -0
  47. package/dist/modules/attributes/events/OwnAttributeDeletedByOwnerEvent.d.ts +7 -0
  48. package/dist/modules/attributes/events/OwnAttributeDeletedByOwnerEvent.d.ts.map +1 -0
  49. package/dist/modules/attributes/events/OwnAttributeDeletedByOwnerEvent.js +12 -0
  50. package/dist/modules/attributes/events/OwnAttributeDeletedByOwnerEvent.js.map +1 -0
  51. package/dist/modules/attributes/events/PeerRelationshipAttributeDeletedByPeerEvent.d.ts +7 -0
  52. package/dist/modules/attributes/events/PeerRelationshipAttributeDeletedByPeerEvent.d.ts.map +1 -0
  53. package/dist/modules/attributes/events/PeerRelationshipAttributeDeletedByPeerEvent.js +12 -0
  54. package/dist/modules/attributes/events/PeerRelationshipAttributeDeletedByPeerEvent.js.map +1 -0
  55. package/dist/modules/attributes/events/index.d.ts +6 -9
  56. package/dist/modules/attributes/events/index.d.ts.map +1 -1
  57. package/dist/modules/attributes/events/index.js +6 -9
  58. package/dist/modules/attributes/events/index.js.map +1 -1
  59. package/dist/modules/attributes/index.d.ts +9 -7
  60. package/dist/modules/attributes/index.d.ts.map +1 -1
  61. package/dist/modules/attributes/index.js +9 -7
  62. package/dist/modules/attributes/index.js.map +1 -1
  63. package/dist/modules/attributes/local/AttributeForwardingDetails.d.ts +28 -0
  64. package/dist/modules/attributes/local/AttributeForwardingDetails.d.ts.map +1 -0
  65. package/dist/modules/attributes/local/AttributeForwardingDetails.js +62 -0
  66. package/dist/modules/attributes/local/AttributeForwardingDetails.js.map +1 -0
  67. package/dist/modules/attributes/local/QueryTranslator.d.ts.map +1 -1
  68. package/dist/modules/attributes/local/QueryTranslator.js +1 -1
  69. package/dist/modules/attributes/local/QueryTranslator.js.map +1 -1
  70. package/dist/modules/attributes/local/attributeTypes/LocalAttribute.d.ts +29 -0
  71. package/dist/modules/attributes/local/attributeTypes/LocalAttribute.d.ts.map +1 -0
  72. package/dist/modules/attributes/local/{AttributeSuccessorParams.js → attributeTypes/LocalAttribute.js} +34 -26
  73. package/dist/modules/attributes/local/attributeTypes/LocalAttribute.js.map +1 -0
  74. package/dist/modules/attributes/local/attributeTypes/OwnIdentityAttribute.d.ts +19 -0
  75. package/dist/modules/attributes/local/attributeTypes/OwnIdentityAttribute.d.ts.map +1 -0
  76. package/dist/modules/{attributeListeners/local/LocalAttributeListener.js → attributes/local/attributeTypes/OwnIdentityAttribute.js} +16 -20
  77. package/dist/modules/attributes/local/attributeTypes/OwnIdentityAttribute.js.map +1 -0
  78. package/dist/modules/attributes/local/attributeTypes/OwnRelationshipAttribute.d.ts +29 -0
  79. package/dist/modules/attributes/local/attributeTypes/OwnRelationshipAttribute.d.ts.map +1 -0
  80. package/dist/modules/attributes/local/attributeTypes/OwnRelationshipAttribute.js +73 -0
  81. package/dist/modules/attributes/local/attributeTypes/OwnRelationshipAttribute.js.map +1 -0
  82. package/dist/modules/attributes/local/attributeTypes/PeerIdentityAttribute.d.ts +29 -0
  83. package/dist/modules/attributes/local/attributeTypes/PeerIdentityAttribute.d.ts.map +1 -0
  84. package/dist/modules/attributes/local/attributeTypes/PeerIdentityAttribute.js +76 -0
  85. package/dist/modules/attributes/local/attributeTypes/PeerIdentityAttribute.js.map +1 -0
  86. package/dist/modules/attributes/local/attributeTypes/PeerRelationshipAttribute.d.ts +30 -0
  87. package/dist/modules/attributes/local/attributeTypes/PeerRelationshipAttribute.d.ts.map +1 -0
  88. package/dist/modules/attributes/local/attributeTypes/PeerRelationshipAttribute.js +76 -0
  89. package/dist/modules/attributes/local/attributeTypes/PeerRelationshipAttribute.js.map +1 -0
  90. package/dist/modules/attributes/local/attributeTypes/ThirdPartyRelationshipAttribute.d.ts +33 -0
  91. package/dist/modules/attributes/local/attributeTypes/ThirdPartyRelationshipAttribute.d.ts.map +1 -0
  92. package/dist/modules/attributes/local/attributeTypes/ThirdPartyRelationshipAttribute.js +85 -0
  93. package/dist/modules/attributes/local/attributeTypes/ThirdPartyRelationshipAttribute.js.map +1 -0
  94. package/dist/modules/attributes/local/deletionInfos/AbstractAttributeDeletionInfo.d.ts +15 -0
  95. package/dist/modules/attributes/local/deletionInfos/AbstractAttributeDeletionInfo.d.ts.map +1 -0
  96. package/dist/modules/{requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js → attributes/local/deletionInfos/AbstractAttributeDeletionInfo.js} +12 -12
  97. package/dist/modules/attributes/local/deletionInfos/AbstractAttributeDeletionInfo.js.map +1 -0
  98. package/dist/modules/attributes/local/deletionInfos/EmittedAttributeDeletionInfo.d.ts +18 -0
  99. package/dist/modules/attributes/local/deletionInfos/EmittedAttributeDeletionInfo.d.ts.map +1 -0
  100. package/dist/modules/attributes/local/deletionInfos/EmittedAttributeDeletionInfo.js +38 -0
  101. package/dist/modules/attributes/local/deletionInfos/EmittedAttributeDeletionInfo.js.map +1 -0
  102. package/dist/modules/attributes/local/deletionInfos/ReceivedAttributeDeletionInfo.d.ts +16 -0
  103. package/dist/modules/attributes/local/deletionInfos/ReceivedAttributeDeletionInfo.d.ts.map +1 -0
  104. package/dist/modules/attributes/local/deletionInfos/ReceivedAttributeDeletionInfo.js +36 -0
  105. package/dist/modules/attributes/local/deletionInfos/ReceivedAttributeDeletionInfo.js.map +1 -0
  106. package/dist/modules/attributes/local/deletionInfos/index.d.ts +4 -0
  107. package/dist/modules/attributes/local/deletionInfos/index.d.ts.map +1 -0
  108. package/dist/modules/{attributeListeners/events → attributes/local/deletionInfos}/index.js +3 -1
  109. package/dist/modules/attributes/local/deletionInfos/index.js.map +1 -0
  110. package/dist/modules/attributes/local/successorParams/OwnIdentityAttributeSuccessorParams.d.ts +13 -0
  111. package/dist/modules/attributes/local/successorParams/OwnIdentityAttributeSuccessorParams.d.ts.map +1 -0
  112. package/dist/modules/{attributeListeners/local/CreateLocalAttributeListenerParams.js → attributes/local/successorParams/OwnIdentityAttributeSuccessorParams.js} +9 -15
  113. package/dist/modules/attributes/local/successorParams/OwnIdentityAttributeSuccessorParams.js.map +1 -0
  114. package/dist/modules/attributes/local/successorParams/OwnRelationshipAttributeSuccessorParams.d.ts +17 -0
  115. package/dist/modules/attributes/local/successorParams/OwnRelationshipAttributeSuccessorParams.d.ts.map +1 -0
  116. package/dist/modules/attributes/local/{CreateAttributeParams.js → successorParams/OwnRelationshipAttributeSuccessorParams.js} +10 -15
  117. package/dist/modules/attributes/local/successorParams/OwnRelationshipAttributeSuccessorParams.js.map +1 -0
  118. package/dist/modules/attributes/local/successorParams/PeerIdentityAttributeSuccessorParams.d.ts +20 -0
  119. package/dist/modules/attributes/local/successorParams/PeerIdentityAttributeSuccessorParams.d.ts.map +1 -0
  120. package/dist/modules/attributes/local/{CreateRepositoryAttributeParams.js → successorParams/PeerIdentityAttributeSuccessorParams.js} +16 -13
  121. package/dist/modules/attributes/local/successorParams/PeerIdentityAttributeSuccessorParams.js.map +1 -0
  122. package/dist/modules/attributes/local/successorParams/PeerRelationshipAttributeSuccessorParams.d.ts +20 -0
  123. package/dist/modules/attributes/local/successorParams/PeerRelationshipAttributeSuccessorParams.d.ts.map +1 -0
  124. package/dist/modules/attributes/local/{CreateSharedLocalAttributeCopyParams.js → successorParams/PeerRelationshipAttributeSuccessorParams.js} +15 -16
  125. package/dist/modules/attributes/local/successorParams/PeerRelationshipAttributeSuccessorParams.js.map +1 -0
  126. package/dist/modules/attributes/local/successorParams/ThirdPartyRelationshipAttributeSuccessorParams.d.ts +20 -0
  127. package/dist/modules/attributes/local/successorParams/ThirdPartyRelationshipAttributeSuccessorParams.d.ts.map +1 -0
  128. package/dist/modules/attributes/local/{CreateSharedLocalAttributeParams.js → successorParams/ThirdPartyRelationshipAttributeSuccessorParams.js} +15 -22
  129. package/dist/modules/attributes/local/successorParams/ThirdPartyRelationshipAttributeSuccessorParams.js.map +1 -0
  130. package/dist/modules/attributes/local/successorParams/index.d.ts +6 -0
  131. package/dist/modules/attributes/local/successorParams/index.d.ts.map +1 -0
  132. package/dist/modules/{attributeListeners → attributes/local/successorParams}/index.js +5 -4
  133. package/dist/modules/attributes/local/successorParams/index.js.map +1 -0
  134. package/dist/modules/index.d.ts +0 -1
  135. package/dist/modules/index.d.ts.map +1 -1
  136. package/dist/modules/index.js +0 -1
  137. package/dist/modules/index.js.map +1 -1
  138. package/dist/modules/notifications/NotificationsController.js +6 -6
  139. package/dist/modules/notifications/NotificationsController.js.map +1 -1
  140. package/dist/modules/notifications/index.d.ts +4 -4
  141. package/dist/modules/notifications/index.d.ts.map +1 -1
  142. package/dist/modules/notifications/index.js +4 -4
  143. package/dist/modules/notifications/index.js.map +1 -1
  144. package/dist/modules/notifications/itemProcessors/attributeDeleted/ForwardedAttributeDeletedByPeerNotificationItemProcessor.d.ts +14 -0
  145. package/dist/modules/notifications/itemProcessors/attributeDeleted/ForwardedAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -0
  146. package/dist/modules/notifications/itemProcessors/attributeDeleted/ForwardedAttributeDeletedByPeerNotificationItemProcessor.js +53 -0
  147. package/dist/modules/notifications/itemProcessors/attributeDeleted/ForwardedAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -0
  148. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnAttributeDeletedByOwnerNotificationItemProcessor.d.ts +14 -0
  149. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnAttributeDeletedByOwnerNotificationItemProcessor.d.ts.map +1 -0
  150. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnAttributeDeletedByOwnerNotificationItemProcessor.js +59 -0
  151. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnAttributeDeletedByOwnerNotificationItemProcessor.js.map +1 -0
  152. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts +14 -0
  153. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +1 -0
  154. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerRelationshipAttributeDeletedByPeerNotificationItemProcessor.js +63 -0
  155. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerRelationshipAttributeDeletedByPeerNotificationItemProcessor.js.map +1 -0
  156. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerAttributeSucceededNotificationItemProcessor.d.ts +15 -0
  157. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerAttributeSucceededNotificationItemProcessor.d.ts.map +1 -0
  158. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerAttributeSucceededNotificationItemProcessor.js +102 -0
  159. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerAttributeSucceededNotificationItemProcessor.js.map +1 -0
  160. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts +1 -0
  161. package/dist/modules/requests/incoming/IncomingRequestsController.d.ts.map +1 -1
  162. package/dist/modules/requests/incoming/IncomingRequestsController.js +21 -8
  163. package/dist/modules/requests/incoming/IncomingRequestsController.js.map +1 -1
  164. package/dist/modules/requests/incoming/decide/DecideRequestParameters.d.ts +1 -0
  165. package/dist/modules/requests/incoming/decide/DecideRequestParameters.d.ts.map +1 -1
  166. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.d.ts +2 -0
  167. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.d.ts.map +1 -1
  168. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js +5 -0
  169. package/dist/modules/requests/incoming/decide/InternalDecideRequestParameters.js.map +1 -1
  170. package/dist/modules/requests/index.d.ts +2 -3
  171. package/dist/modules/requests/index.d.ts.map +1 -1
  172. package/dist/modules/requests/index.js +2 -3
  173. package/dist/modules/requests/index.js.map +1 -1
  174. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts +2 -2
  175. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.d.ts.map +1 -1
  176. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js +62 -22
  177. package/dist/modules/requests/itemProcessors/createAttribute/CreateAttributeRequestItemProcessor.js.map +1 -1
  178. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.d.ts +4 -2
  179. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.d.ts.map +1 -1
  180. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js +50 -43
  181. package/dist/modules/requests/itemProcessors/deleteAttribute/DeleteAttributeRequestItemProcessor.js.map +1 -1
  182. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.d.ts +10 -0
  183. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.d.ts.map +1 -0
  184. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.js +31 -0
  185. package/dist/modules/requests/itemProcessors/formField/AcceptFormFieldRequestItemParameters.js.map +1 -0
  186. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.d.ts +10 -0
  187. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.d.ts.map +1 -0
  188. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.js +34 -0
  189. package/dist/modules/requests/itemProcessors/formField/FormFieldRequestItemProcessor.js.map +1 -0
  190. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts +2 -2
  191. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.d.ts.map +1 -1
  192. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js +93 -101
  193. package/dist/modules/requests/itemProcessors/proposeAttribute/ProposeAttributeRequestItemProcessor.js.map +1 -1
  194. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts +2 -2
  195. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.d.ts.map +1 -1
  196. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js +142 -136
  197. package/dist/modules/requests/itemProcessors/readAttribute/ReadAttributeRequestItemProcessor.js.map +1 -1
  198. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts +3 -5
  199. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.d.ts.map +1 -1
  200. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js +96 -92
  201. package/dist/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.js.map +1 -1
  202. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.d.ts +2 -2
  203. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.d.ts.map +1 -1
  204. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.js +40 -33
  205. package/dist/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.js.map +1 -1
  206. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.d.ts.map +1 -1
  207. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.js +31 -53
  208. package/dist/modules/requests/itemProcessors/utility/createAppropriateResponseItem.js.map +1 -1
  209. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.js +3 -3
  210. package/dist/modules/requests/itemProcessors/utility/validateAttributeMatchesWithQuery.js.map +1 -1
  211. package/dist/modules/requests/local/LocalRequest.d.ts +2 -0
  212. package/dist/modules/requests/local/LocalRequest.d.ts.map +1 -1
  213. package/dist/modules/requests/local/LocalRequest.js +8 -2
  214. package/dist/modules/requests/local/LocalRequest.js.map +1 -1
  215. package/dist/modules/requests/local/LocalResponse.js +1 -1
  216. package/dist/modules/requests/local/LocalResponse.js.map +1 -1
  217. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts +1 -1
  218. package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts.map +1 -1
  219. package/dist/modules/requests/outgoing/OutgoingRequestsController.js +29 -25
  220. package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
  221. package/package.json +14 -14
  222. package/dist/modules/attributeListeners/AttributeListenersController.d.ts +0 -20
  223. package/dist/modules/attributeListeners/AttributeListenersController.d.ts.map +0 -1
  224. package/dist/modules/attributeListeners/AttributeListenersController.js +0 -51
  225. package/dist/modules/attributeListeners/AttributeListenersController.js.map +0 -1
  226. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.d.ts +0 -7
  227. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.d.ts.map +0 -1
  228. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js +0 -12
  229. package/dist/modules/attributeListeners/events/AttributeListenerCreatedEvent.js.map +0 -1
  230. package/dist/modules/attributeListeners/events/index.d.ts +0 -2
  231. package/dist/modules/attributeListeners/events/index.d.ts.map +0 -1
  232. package/dist/modules/attributeListeners/events/index.js.map +0 -1
  233. package/dist/modules/attributeListeners/index.d.ts +0 -5
  234. package/dist/modules/attributeListeners/index.d.ts.map +0 -1
  235. package/dist/modules/attributeListeners/index.js.map +0 -1
  236. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.d.ts +0 -13
  237. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.d.ts.map +0 -1
  238. package/dist/modules/attributeListeners/local/CreateLocalAttributeListenerParams.js.map +0 -1
  239. package/dist/modules/attributeListeners/local/LocalAttributeListener.d.ts +0 -21
  240. package/dist/modules/attributeListeners/local/LocalAttributeListener.d.ts.map +0 -1
  241. package/dist/modules/attributeListeners/local/LocalAttributeListener.js.map +0 -1
  242. package/dist/modules/attributes/events/AttributeSucceededEventData.d.ts +0 -6
  243. package/dist/modules/attributes/events/AttributeSucceededEventData.d.ts.map +0 -1
  244. package/dist/modules/attributes/events/AttributeSucceededEventData.js +0 -3
  245. package/dist/modules/attributes/events/AttributeSucceededEventData.js.map +0 -1
  246. package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.d.ts +0 -7
  247. package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.d.ts.map +0 -1
  248. package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.js +0 -12
  249. package/dist/modules/attributes/events/OwnSharedAttributeDeletedByOwnerEvent.js.map +0 -1
  250. package/dist/modules/attributes/events/OwnSharedAttributeSucceededEvent.d.ts +0 -8
  251. package/dist/modules/attributes/events/OwnSharedAttributeSucceededEvent.d.ts.map +0 -1
  252. package/dist/modules/attributes/events/OwnSharedAttributeSucceededEvent.js +0 -12
  253. package/dist/modules/attributes/events/OwnSharedAttributeSucceededEvent.js.map +0 -1
  254. package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.d.ts +0 -7
  255. package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.d.ts.map +0 -1
  256. package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.js +0 -12
  257. package/dist/modules/attributes/events/PeerSharedAttributeDeletedByPeerEvent.js.map +0 -1
  258. package/dist/modules/attributes/events/PeerSharedAttributeSucceededEvent.d.ts +0 -8
  259. package/dist/modules/attributes/events/PeerSharedAttributeSucceededEvent.d.ts.map +0 -1
  260. package/dist/modules/attributes/events/PeerSharedAttributeSucceededEvent.js +0 -12
  261. package/dist/modules/attributes/events/PeerSharedAttributeSucceededEvent.js.map +0 -1
  262. package/dist/modules/attributes/events/RepositoryAttributeSucceededEvent.d.ts +0 -8
  263. package/dist/modules/attributes/events/RepositoryAttributeSucceededEvent.d.ts.map +0 -1
  264. package/dist/modules/attributes/events/RepositoryAttributeSucceededEvent.js +0 -12
  265. package/dist/modules/attributes/events/RepositoryAttributeSucceededEvent.js.map +0 -1
  266. package/dist/modules/attributes/events/SharedAttributeCopyCreatedEvent.d.ts +0 -7
  267. package/dist/modules/attributes/events/SharedAttributeCopyCreatedEvent.d.ts.map +0 -1
  268. package/dist/modules/attributes/events/SharedAttributeCopyCreatedEvent.js +0 -12
  269. package/dist/modules/attributes/events/SharedAttributeCopyCreatedEvent.js.map +0 -1
  270. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeDeletedByPeerEvent.d.ts +0 -7
  271. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeDeletedByPeerEvent.d.ts.map +0 -1
  272. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeDeletedByPeerEvent.js +0 -12
  273. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeDeletedByPeerEvent.js.map +0 -1
  274. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeSucceededEvent.d.ts +0 -8
  275. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeSucceededEvent.d.ts.map +0 -1
  276. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeSucceededEvent.js +0 -12
  277. package/dist/modules/attributes/events/ThirdPartyRelationshipAttributeSucceededEvent.js.map +0 -1
  278. package/dist/modules/attributes/local/AttributeSuccessorParams.d.ts +0 -24
  279. package/dist/modules/attributes/local/AttributeSuccessorParams.d.ts.map +0 -1
  280. package/dist/modules/attributes/local/AttributeSuccessorParams.js.map +0 -1
  281. package/dist/modules/attributes/local/CreateAttributeParams.d.ts +0 -15
  282. package/dist/modules/attributes/local/CreateAttributeParams.d.ts.map +0 -1
  283. package/dist/modules/attributes/local/CreateAttributeParams.js.map +0 -1
  284. package/dist/modules/attributes/local/CreateRepositoryAttributeParams.d.ts +0 -20
  285. package/dist/modules/attributes/local/CreateRepositoryAttributeParams.d.ts.map +0 -1
  286. package/dist/modules/attributes/local/CreateRepositoryAttributeParams.js.map +0 -1
  287. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.d.ts +0 -22
  288. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.d.ts.map +0 -1
  289. package/dist/modules/attributes/local/CreateSharedLocalAttributeCopyParams.js.map +0 -1
  290. package/dist/modules/attributes/local/CreateSharedLocalAttributeParams.d.ts +0 -26
  291. package/dist/modules/attributes/local/CreateSharedLocalAttributeParams.d.ts.map +0 -1
  292. package/dist/modules/attributes/local/CreateSharedLocalAttributeParams.js.map +0 -1
  293. package/dist/modules/attributes/local/LocalAttribute.d.ts +0 -109
  294. package/dist/modules/attributes/local/LocalAttribute.d.ts.map +0 -1
  295. package/dist/modules/attributes/local/LocalAttribute.js +0 -180
  296. package/dist/modules/attributes/local/LocalAttribute.js.map +0 -1
  297. package/dist/modules/attributes/local/LocalAttributeDeletionInfo.d.ts +0 -24
  298. package/dist/modules/attributes/local/LocalAttributeDeletionInfo.d.ts.map +0 -1
  299. package/dist/modules/attributes/local/LocalAttributeDeletionInfo.js +0 -42
  300. package/dist/modules/attributes/local/LocalAttributeDeletionInfo.js.map +0 -1
  301. package/dist/modules/attributes/local/LocalAttributeShareInfo.d.ts +0 -26
  302. package/dist/modules/attributes/local/LocalAttributeShareInfo.d.ts.map +0 -1
  303. package/dist/modules/attributes/local/LocalAttributeShareInfo.js +0 -59
  304. package/dist/modules/attributes/local/LocalAttributeShareInfo.js.map +0 -1
  305. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.d.ts +0 -14
  306. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.d.ts.map +0 -1
  307. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js +0 -56
  308. package/dist/modules/notifications/itemProcessors/attributeDeleted/OwnSharedAttributeDeletedByOwnerNotificationItemProcessor.js.map +0 -1
  309. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.d.ts +0 -14
  310. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +0 -1
  311. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js +0 -57
  312. package/dist/modules/notifications/itemProcessors/attributeDeleted/PeerSharedAttributeDeletedByPeerNotificationItemProcessor.js.map +0 -1
  313. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts +0 -14
  314. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyRelationshipAttributeDeletedByPeerNotificationItemProcessor.d.ts.map +0 -1
  315. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyRelationshipAttributeDeletedByPeerNotificationItemProcessor.js +0 -57
  316. package/dist/modules/notifications/itemProcessors/attributeDeleted/ThirdPartyRelationshipAttributeDeletedByPeerNotificationItemProcessor.js.map +0 -1
  317. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.d.ts +0 -15
  318. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.d.ts.map +0 -1
  319. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.js +0 -74
  320. package/dist/modules/notifications/itemProcessors/attributeSucceeded/PeerSharedAttributeSucceededNotificationItemProcessor.js.map +0 -1
  321. package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.d.ts +0 -10
  322. package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.d.ts.map +0 -1
  323. package/dist/modules/requests/itemProcessors/freeText/AcceptFreeTextRequestItemParameters.js.map +0 -1
  324. package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.d.ts +0 -9
  325. package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.d.ts.map +0 -1
  326. package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js +0 -31
  327. package/dist/modules/requests/itemProcessors/freeText/FreeTextRequestItemProcessor.js.map +0 -1
  328. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.d.ts +0 -8
  329. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.d.ts.map +0 -1
  330. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js +0 -19
  331. package/dist/modules/requests/itemProcessors/registerAttributeListener/RegisterAttributeListenerRequestItemProcessor.js.map +0 -1
@@ -13,137 +13,141 @@ const ValidationResult_1 = require("../../../common/ValidationResult");
13
13
  const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
14
14
  class ShareAttributeRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
15
15
  async canCreateOutgoingRequestItem(requestItem, _request, recipient) {
16
- const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.sourceAttributeId);
17
- if (typeof foundAttribute === "undefined") {
18
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' could not be found.`));
16
+ const foundAttribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
17
+ if (!foundAttribute) {
18
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The Attribute with the given attributeId '${requestItem.attributeId.toString()}' could not be found.`));
19
+ }
20
+ if (!(foundAttribute instanceof attributes_1.OwnIdentityAttribute || foundAttribute instanceof attributes_1.OwnRelationshipAttribute || foundAttribute instanceof attributes_1.PeerRelationshipAttribute)) {
21
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The Attribute with the given attributeId '${requestItem.attributeId.toString()}' is not an OwnIdentityAttribute, an OwnRelationshipAttribute or a PeerRelationshipAttribute.`));
19
22
  }
20
23
  const requestItemAttributeJSON = requestItem.attribute.toJSON();
21
24
  if (!lodash_1.default.isEqual(foundAttribute.content.toJSON(), requestItemAttributeJSON)) {
22
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The Attribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' does not match the given Attribute.`));
25
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The Attribute with the given attributeId '${requestItem.attributeId.toString()}' does not match the given Attribute.`));
23
26
  }
24
- if (requestItem.attribute instanceof content_1.IdentityAttribute && this.accountController.identity.isMe(requestItem.attribute.owner)) {
25
- if (foundAttribute.isShared()) {
26
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The provided IdentityAttribute is a shared copy of a RepositoryAttribute. You can only share RepositoryAttributes."));
27
+ if (recipient) {
28
+ if (await this.consumptionController.attributes.isAttributeForwardedToPeer(foundAttribute, recipient, true)) {
29
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The Attribute with the given attributeId '${requestItem.attributeId.toString()}' is already shared with the peer.`));
27
30
  }
28
- if (typeof recipient !== "undefined") {
29
- const query = {
30
- "shareInfo.sourceAttribute": requestItem.sourceAttributeId.toString(),
31
- "shareInfo.peer": recipient.toString(),
32
- "deletionInfo.deletionStatus": { $nin: [attributes_1.LocalAttributeDeletionStatus.DeletedByPeer, attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer] }
33
- };
34
- if ((await this.consumptionController.attributes.getLocalAttributes(query)).length > 0) {
35
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The IdentityAttribute with the given sourceAttributeId '${requestItem.sourceAttributeId.toString()}' is already shared with the peer.`));
36
- }
37
- const ownSharedIdentityAttributeSuccessors = await this.consumptionController.attributes.getSharedSuccessorsOfAttribute(foundAttribute, {
38
- "shareInfo.peer": recipient.toString(),
39
- "deletionInfo.deletionStatus": { $nin: [attributes_1.LocalAttributeDeletionStatus.DeletedByPeer, attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer] }
40
- });
41
- if (ownSharedIdentityAttributeSuccessors.length > 0) {
42
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The provided IdentityAttribute is outdated. Its successor '${ownSharedIdentityAttributeSuccessors[0].shareInfo?.sourceAttribute}' is already shared with the peer.`));
43
- }
44
- const ownSharedIdentityAttributePredecessors = await this.consumptionController.attributes.getSharedPredecessorsOfAttribute(foundAttribute, {
45
- "shareInfo.peer": recipient.toString(),
46
- "deletionInfo.deletionStatus": { $nin: [attributes_1.LocalAttributeDeletionStatus.DeletedByPeer, attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer] }
47
- });
48
- if (ownSharedIdentityAttributePredecessors.length > 0) {
49
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The predecessor '${ownSharedIdentityAttributePredecessors[0].shareInfo?.sourceAttribute}' of the IdentityAttribute is already shared with the peer. Instead of sharing it, you should notify the peer about the Attribute succession.`));
50
- }
31
+ const sharedSuccessors = await this.consumptionController.attributes.getSuccessorsOfAttributeSharedWithPeer(foundAttribute, recipient);
32
+ if (sharedSuccessors.length > 0) {
33
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The provided Attribute is outdated. Its successor '${sharedSuccessors[0].id}' is already shared with the peer.`));
51
34
  }
52
- if (requestItem.thirdPartyAddress) {
53
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("When sharing a RepositoryAttribute, no thirdPartyAddress may be specified."));
35
+ const sharedPredecessors = await this.consumptionController.attributes.getPredecessorsOfAttributeSharedWithPeer(foundAttribute, recipient);
36
+ if (sharedPredecessors.length > 0) {
37
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The predecessor '${sharedPredecessors[0].id}' of the Attribute is already shared with the peer. Instead of sharing it, you should notify the peer about the Attribute succession.`));
54
38
  }
55
39
  }
56
- if (requestItem.attribute instanceof content_1.RelationshipAttribute) {
57
- if (!foundAttribute.isShared()) {
58
- throw new Error("The LocalAttribute found is faulty because its shareInfo is undefined, although its content is given by a RelationshipAttribute. Since RelationshipAttributes only make sense in the context of Relationships, they must always be shared.");
59
- }
60
- if (typeof foundAttribute.shareInfo.sourceAttribute !== "undefined") {
61
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("You can only share RelationshipAttributes that are not a copy of a sourceAttribute."));
62
- }
63
- if (typeof recipient !== "undefined") {
64
- const query = {
65
- "shareInfo.sourceAttribute": requestItem.sourceAttributeId.toString(),
66
- "shareInfo.peer": recipient.toString(),
67
- "deletionInfo.deletionStatus": { $nin: [attributes_1.LocalAttributeDeletionStatus.DeletedByPeer, attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer] }
68
- };
69
- const thirdPartyRelationshipAttribute = await this.consumptionController.attributes.getLocalAttributes(query);
70
- if (foundAttribute.shareInfo.peer.equals(recipient) || thirdPartyRelationshipAttribute.length > 0) {
71
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The provided RelationshipAttribute already exists in the context of the Relationship with the peer."));
72
- }
40
+ if (requestItem.attribute instanceof content_1.IdentityAttribute) {
41
+ if (!(foundAttribute instanceof attributes_1.OwnIdentityAttribute)) {
42
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The provided IdentityAttribute belongs to someone else. You can only share OwnIdentityAttributes."));
73
43
  }
74
- const queryForNonPendingRelationships = {
75
- "peer.address": foundAttribute.shareInfo.peer.address,
76
- status: { $in: [transport_1.RelationshipStatus.Active, transport_1.RelationshipStatus.Terminated, transport_1.RelationshipStatus.DeletionProposed] }
77
- };
78
- const nonPendingRelationshipsToPeer = await this.accountController.relationships.getRelationships(queryForNonPendingRelationships);
79
- if (nonPendingRelationshipsToPeer.length === 0) {
80
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.cannotShareRelationshipAttributeOfPendingRelationship());
44
+ if (requestItem.thirdPartyAddress) {
45
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("When sharing an OwnIdentityAttribute, no thirdPartyAddress may be specified."));
81
46
  }
82
- if (!requestItem.thirdPartyAddress?.equals(foundAttribute.shareInfo.peer)) {
83
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("When sharing a RelationshipAttribute with another Identity, the address of the peer of the Relationship in which the RelationshipAttribute exists must be specified as thirdPartyAddress."));
47
+ const tagValidationResult = await this.consumptionController.attributes.validateTagsOfAttribute(requestItem.attribute);
48
+ if (tagValidationResult.isError()) {
49
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
84
50
  }
51
+ return ValidationResult_1.ValidationResult.success();
85
52
  }
86
- if (requestItem.attribute instanceof content_1.IdentityAttribute) {
87
- return await this.canCreateWithIdentityAttribute(requestItem);
53
+ if (!(foundAttribute instanceof attributes_1.OwnRelationshipAttribute || foundAttribute instanceof attributes_1.PeerRelationshipAttribute)) {
54
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("You cannot share ThirdPartyRelationshipAttributes."));
88
55
  }
89
- return ShareAttributeRequestItemProcessor.canCreateWithRelationshipAttribute(requestItem.attribute, recipient);
90
- }
91
- async canCreateWithIdentityAttribute(requestItem) {
92
- const ownerIsCurrentIdentity = requestItem.attribute.owner.equals(this.currentIdentityAddress);
93
- if (!ownerIsCurrentIdentity) {
94
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The provided IdentityAttribute belongs to someone else. You can only share own IdentityAttributes."));
56
+ if (recipient && foundAttribute.peer.equals(recipient)) {
57
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The provided RelationshipAttribute already exists in the context of the Relationship with the peer."));
95
58
  }
96
- const tagValidationResult = await this.consumptionController.attributes.validateTags(requestItem.attribute);
97
- if (tagValidationResult.isError()) {
98
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
59
+ const initialPeer = foundAttribute.peer;
60
+ const queryForNonPendingRelationships = {
61
+ "peer.address": initialPeer.toString(),
62
+ status: { $in: [transport_1.RelationshipStatus.Active, transport_1.RelationshipStatus.Terminated, transport_1.RelationshipStatus.DeletionProposed] }
63
+ };
64
+ const nonPendingRelationshipsToPeer = await this.accountController.relationships.getRelationships(queryForNonPendingRelationships);
65
+ if (nonPendingRelationshipsToPeer.length === 0) {
66
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.cannotShareRelationshipAttributeOfPendingRelationship());
99
67
  }
100
- return ValidationResult_1.ValidationResult.success();
101
- }
102
- static canCreateWithRelationshipAttribute(attribute, recipient) {
103
- if (attribute.owner.equals(recipient)) {
68
+ if (!requestItem.thirdPartyAddress?.equals(initialPeer)) {
69
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("When sharing a RelationshipAttribute with another Identity, the address of the peer of the Relationship in which the RelationshipAttribute exists must be specified as thirdPartyAddress."));
70
+ }
71
+ if (requestItem.attribute.owner.equals(recipient)) {
104
72
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("It doesn't make sense to share a RelationshipAttribute with its owner."));
105
73
  }
106
- if (attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
74
+ if (requestItem.attribute.confidentiality === content_1.RelationshipAttributeConfidentiality.Private) {
107
75
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The confidentiality of the given `attribute` is private. Therefore you are not allowed to share it."));
108
76
  }
109
77
  return ValidationResult_1.ValidationResult.success();
110
78
  }
111
79
  async canAccept(requestItem, _params, _requestInfo) {
112
- const tagValidationResult = await this.consumptionController.attributes.validateTags(requestItem.attribute);
80
+ const tagValidationResult = await this.consumptionController.attributes.validateTagsOfAttribute(requestItem.attribute);
113
81
  if (tagValidationResult.isError()) {
114
82
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(tagValidationResult.error.message));
115
83
  }
84
+ if (requestItem.thirdPartyAddress && requestItem.attribute instanceof content_1.IdentityAttribute) {
85
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The RequestItem is invalid, since it must contain a RelationshipAttribute if thirdPartyAddress is defined."));
86
+ }
87
+ if (!requestItem.thirdPartyAddress && requestItem.attribute instanceof content_1.RelationshipAttribute) {
88
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem("The RequestItem is invalid, since it must contain an IdentityAttribute if thirdPartyAddress is undefined."));
89
+ }
116
90
  return ValidationResult_1.ValidationResult.success();
117
91
  }
118
92
  async accept(requestItem, _params, requestInfo) {
119
- const existingPeerSharedIdentityAttribute = await this.consumptionController.attributes.getPeerSharedIdentityAttributeWithSameValue(requestItem.attribute.value.toJSON(), requestInfo.peer.toString());
120
- if (existingPeerSharedIdentityAttribute && !existingPeerSharedIdentityAttribute.deletionInfo) {
93
+ const isThirdPartyRelationshipAttribute = !!requestItem.thirdPartyAddress;
94
+ if (isThirdPartyRelationshipAttribute) {
95
+ const attribute = requestItem.attribute;
96
+ const existingThirdPartyRelationshipAttribute = await this.consumptionController.attributes.getThirdPartyRelationshipAttributeWithSameValue(attribute.value.toJSON(), requestInfo.peer.toString(), attribute.owner.toString(), attribute.key);
97
+ if (existingThirdPartyRelationshipAttribute) {
98
+ if (existingThirdPartyRelationshipAttribute.deletionInfo?.deletionStatus === attributes_1.ReceivedAttributeDeletionStatus.ToBeDeleted) {
99
+ await this.consumptionController.attributes.setPeerDeletionInfoOfReceivedAttribute(existingThirdPartyRelationshipAttribute, undefined, true);
100
+ }
101
+ return content_1.AttributeAlreadySharedAcceptResponseItem.from({
102
+ result: content_1.ResponseItemResult.Accepted,
103
+ attributeId: existingThirdPartyRelationshipAttribute.id
104
+ });
105
+ }
106
+ await this.consumptionController.attributes.createThirdPartyRelationshipAttribute({
107
+ id: requestItem.attributeId,
108
+ content: requestItem.attribute,
109
+ peer: requestInfo.peer,
110
+ sourceReference: requestInfo.id,
111
+ initialAttributePeer: requestItem.thirdPartyAddress
112
+ });
113
+ return content_1.AcceptResponseItem.from({ result: content_1.ResponseItemResult.Accepted });
114
+ }
115
+ const existingPeerIdentityAttribute = await this.consumptionController.attributes.getPeerIdentityAttributeWithSameValue(requestItem.attribute.value.toJSON(), requestInfo.peer.toString());
116
+ if (existingPeerIdentityAttribute) {
117
+ if (existingPeerIdentityAttribute.deletionInfo?.deletionStatus === attributes_1.ReceivedAttributeDeletionStatus.ToBeDeleted) {
118
+ await this.consumptionController.attributes.setPeerDeletionInfoOfReceivedAttribute(existingPeerIdentityAttribute, undefined, true);
119
+ }
121
120
  return content_1.AttributeAlreadySharedAcceptResponseItem.from({
122
121
  result: content_1.ResponseItemResult.Accepted,
123
- attributeId: existingPeerSharedIdentityAttribute.id
122
+ attributeId: existingPeerIdentityAttribute.id
124
123
  });
125
124
  }
126
- const localAttribute = await this.consumptionController.attributes.createSharedLocalAttribute({
125
+ await this.consumptionController.attributes.createPeerIdentityAttribute({
127
126
  content: requestItem.attribute,
128
127
  peer: requestInfo.peer,
129
- requestReference: requestInfo.id,
130
- thirdPartyAddress: requestItem.thirdPartyAddress
131
- });
132
- return content_1.ShareAttributeAcceptResponseItem.from({
133
- attributeId: localAttribute.id,
134
- result: content_1.ResponseItemResult.Accepted
128
+ sourceReference: requestInfo.id,
129
+ id: requestItem.attributeId
135
130
  });
131
+ return content_1.AcceptResponseItem.from({ result: content_1.ResponseItemResult.Accepted });
136
132
  }
137
133
  async applyIncomingResponseItem(responseItem, requestItem, requestInfo) {
138
- if (!(responseItem instanceof content_1.ShareAttributeAcceptResponseItem)) {
134
+ if (responseItem instanceof content_1.RejectResponseItem)
135
+ return;
136
+ const sharedAttribute = await this.consumptionController.attributes.getLocalAttribute(requestItem.attributeId);
137
+ if (!sharedAttribute ||
138
+ !(sharedAttribute instanceof attributes_1.OwnIdentityAttribute || sharedAttribute instanceof attributes_1.OwnRelationshipAttribute || sharedAttribute instanceof attributes_1.PeerRelationshipAttribute)) {
139
139
  return;
140
140
  }
141
- await this.consumptionController.attributes.createSharedLocalAttributeCopy({
142
- attributeId: responseItem.attributeId,
143
- sourceAttributeId: requestItem.sourceAttributeId,
144
- peer: requestInfo.peer,
145
- requestReference: requestInfo.id
146
- });
141
+ if (!(responseItem instanceof content_1.AttributeAlreadySharedAcceptResponseItem)) {
142
+ await this.consumptionController.attributes.addForwardingDetailsToAttribute(sharedAttribute, requestInfo.peer, requestInfo.id);
143
+ return;
144
+ }
145
+ const forwardingDetails = await this.consumptionController.attributes.getForwardingDetailsForPeer(sharedAttribute, requestInfo.peer, true);
146
+ if (forwardingDetails) {
147
+ await this.consumptionController.attributes.setForwardedDeletionInfoOfAttribute(sharedAttribute, undefined, requestInfo.peer, true);
148
+ return;
149
+ }
150
+ await this.consumptionController.attributes.addForwardingDetailsToAttribute(sharedAttribute, requestInfo.peer, requestInfo.id);
147
151
  }
148
152
  }
149
153
  exports.ShareAttributeRequestItemProcessor = ShareAttributeRequestItemProcessor;
@@ -1 +1 @@
1
- {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShareAttributeRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAttribute/ShareAttributeRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AcceptResponseItem, RejectResponseItem, Request, TransferFileOwnershipAcceptResponseItem, TransferFileOwnershipRequestItem } from "@nmshd/content";
1
+ import { RejectResponseItem, Request, TransferFileOwnershipAcceptResponseItem, TransferFileOwnershipRequestItem } from "@nmshd/content";
2
2
  import { CoreAddress } from "@nmshd/core-types";
3
3
  import { ValidationResult } from "../../../common/ValidationResult";
4
4
  import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
@@ -8,6 +8,6 @@ export declare class TransferFileOwnershipRequestItemProcessor extends GenericRe
8
8
  canCreateOutgoingRequestItem(requestItem: TransferFileOwnershipRequestItem, _request: Request, _recipient?: CoreAddress): Promise<ValidationResult>;
9
9
  canAccept(requestItem: TransferFileOwnershipRequestItem, _params: AcceptRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<ValidationResult>;
10
10
  accept(requestItem: TransferFileOwnershipRequestItem, _params: AcceptRequestItemParametersJSON, requestInfo: LocalRequestInfo): Promise<TransferFileOwnershipAcceptResponseItem>;
11
- applyIncomingResponseItem(responseItem: TransferFileOwnershipAcceptResponseItem | AcceptResponseItem | RejectResponseItem, _requestItem: TransferFileOwnershipRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
11
+ applyIncomingResponseItem(responseItem: TransferFileOwnershipAcceptResponseItem | RejectResponseItem, _requestItem: TransferFileOwnershipRequestItem, requestInfo: LocalRequestInfo): Promise<void>;
12
12
  }
13
13
  //# sourceMappingURL=TransferFileOwnershipRequestItemProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransferFileOwnershipRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAGlB,kBAAkB,EAClB,OAAO,EAEP,uCAAuC,EACvC,gCAAgC,EACnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,yCAA0C,SAAQ,2BAA2B,CAAC,gCAAgC,CAAC;IAClG,4BAA4B,CAAC,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4BnJ,SAAS,CAC3B,WAAW,EAAE,gCAAgC,EAC7C,OAAO,EAAE,+BAA+B,EACxC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAuCN,MAAM,CACxB,WAAW,EAAE,gCAAgC,EAC7C,OAAO,EAAE,+BAA+B,EACxC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,uCAAuC,CAAC;IAqC7B,yBAAyB,CAC3C,YAAY,EAAE,uCAAuC,GAAG,kBAAkB,GAAG,kBAAkB,EAC/F,YAAY,EAAE,gCAAgC,EAC9C,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAYnB"}
1
+ {"version":3,"file":"TransferFileOwnershipRequestItemProcessor.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,kBAAkB,EAClB,OAAO,EAEP,uCAAuC,EACvC,gCAAgC,EACnC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAU,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,qBAAa,yCAA0C,SAAQ,2BAA2B,CAAC,gCAAgC,CAAC;IAClG,4BAA4B,CAAC,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8CnJ,SAAS,CAC3B,WAAW,EAAE,gCAAgC,EAC7C,OAAO,EAAE,+BAA+B,EACxC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA2DN,MAAM,CACxB,WAAW,EAAE,gCAAgC,EAC7C,OAAO,EAAE,+BAA+B,EACxC,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,uCAAuC,CAAC;IAwB7B,yBAAyB,CAC3C,YAAY,EAAE,uCAAuC,GAAG,kBAAkB,EAC1E,YAAY,EAAE,gCAAgC,EAC9C,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,IAAI,CAAC;CAYnB"}
@@ -9,77 +9,84 @@ const GenericRequestItemProcessor_1 = require("../GenericRequestItemProcessor");
9
9
  class TransferFileOwnershipRequestItemProcessor extends GenericRequestItemProcessor_1.GenericRequestItemProcessor {
10
10
  async canCreateOutgoingRequestItem(requestItem, _request, _recipient) {
11
11
  const foundFile = await this.accountController.files.getFile(core_types_1.CoreId.from(requestItem.fileReference.id));
12
- if (typeof foundFile === "undefined") {
12
+ if (!foundFile) {
13
13
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The File with the given ID '${requestItem.fileReference.id.toString()}' could not be found.`));
14
14
  }
15
15
  if (!foundFile.isOwn) {
16
16
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot request the transfer of ownership of the File with ID '${requestItem.fileReference.id.toString()}' since it is not owned by you.`));
17
17
  }
18
- if (foundFile.cache.expiresAt.isExpired()) {
18
+ if (foundFile.expiresAt.isExpired()) {
19
19
  return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot request the transfer of ownership of the File with ID '${requestItem.fileReference.id.toString()}' since it is already expired.`));
20
20
  }
21
+ if (foundFile.tags && foundFile.tags.length > 0) {
22
+ const tagValidationResult = await this.consumptionController.attributes.validateTagsForType(foundFile.tags, "IdentityFileReference");
23
+ if (tagValidationResult.isError()) {
24
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot request the transfer of ownership of the File with ID '${requestItem.fileReference.id.toString()}' since it has invalid tags. ${tagValidationResult.error.message}`));
25
+ }
26
+ }
27
+ const validationResult = await this.accountController.files.validateFileOwnershipToken(foundFile.id, requestItem.ownershipToken);
28
+ if (!validationResult.isValid) {
29
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`The specified ownershipToken is not valid for the File with ID '${requestItem.fileReference.id.toString()}'.`));
30
+ }
21
31
  return ValidationResult_1.ValidationResult.success();
22
32
  }
23
33
  async canAccept(requestItem, _params, requestInfo) {
24
34
  let file;
25
35
  try {
26
- file = await this.accountController.files.getOrLoadFileByTruncated(requestItem.fileReference.truncate());
36
+ file = await this.accountController.files.getOrLoadFileByReference(requestItem.fileReference);
27
37
  }
28
38
  catch (_) {
29
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(`You cannot accept this RequestItem since the File with the given ID '${requestItem.fileReference.id.toString()}' could not be found.`));
39
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot accept this RequestItem since the File with the given ID '${requestItem.fileReference.id.toString()}' could not be found.`));
30
40
  }
31
- if (file.cache.expiresAt.isExpired()) {
32
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(`You cannot accept this RequestItem since the File with the given ID '${requestItem.fileReference.id.toString()}' is already expired.`));
41
+ if (file.expiresAt.isExpired()) {
42
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot accept this RequestItem since the File with the given ID '${requestItem.fileReference.id.toString()}' is already expired.`));
33
43
  }
34
44
  if (file.isOwn) {
35
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(`You cannot accept this RequestItem since the File with the given fileReference '${requestItem.fileReference.id.toString()}' is already owned by you.`));
45
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot accept this RequestItem since the File with the given fileReference '${requestItem.fileReference.id.toString()}' is already owned by you.`));
46
+ }
47
+ if (file.owner.toString() !== requestInfo.peer.toString()) {
48
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot accept this RequestItem since the File with the given fileReference '${requestItem.fileReference.id.toString()}' is not owned by the peer.`));
49
+ }
50
+ if (file.tags && file.tags.length > 0) {
51
+ const tagValidationResult = await this.consumptionController.attributes.validateTagsForType(file.tags, "IdentityFileReference");
52
+ if (tagValidationResult.isError()) {
53
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot accept this RequestItem since the File with the given fileReference '${requestItem.fileReference.id.toString()}' has invalid tags. ${tagValidationResult.error.message}`));
54
+ }
36
55
  }
37
- if (file.cache.owner.toString() !== requestInfo.peer.toString()) {
38
- return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidAcceptParameters(`You cannot accept this RequestItem since the File with the given fileReference '${requestItem.fileReference.id.toString()}' is not owned by the peer.`));
56
+ const validationResult = await this.accountController.files.validateFileOwnershipToken(file.id, requestItem.ownershipToken);
57
+ if (!validationResult.isValid) {
58
+ return ValidationResult_1.ValidationResult.error(ConsumptionCoreErrors_1.ConsumptionCoreErrors.requests.invalidRequestItem(`You cannot accept this RequestItem since the specified ownershipToken is not valid for the File with ID '${requestItem.fileReference.id.toString()}'.`));
39
59
  }
40
60
  return ValidationResult_1.ValidationResult.success();
41
61
  }
42
62
  async accept(requestItem, _params, requestInfo) {
43
- const peerFile = await this.accountController.files.getOrLoadFileByTruncated(requestItem.fileReference.truncate());
44
- const fileContent = await this.accountController.files.downloadFileContent(peerFile);
45
- const ownFile = await this.accountController.files.sendFile({
46
- buffer: fileContent,
47
- title: peerFile.cache.title,
48
- description: peerFile.cache.description,
49
- filename: peerFile.cache.filename,
50
- mimetype: peerFile.cache.mimetype,
51
- expiresAt: core_types_1.CoreDate.from("9999-12-31T00:00:00.000Z"),
52
- tags: peerFile.cache.tags
53
- });
54
- const repositoryAttribute = await this.consumptionController.attributes.createRepositoryAttribute({
63
+ const peerFile = await this.accountController.files.getOrLoadFileByReference(requestItem.fileReference);
64
+ const ownFile = await this.accountController.files.claimFileOwnership(peerFile.id, requestItem.ownershipToken);
65
+ const ownIdentityAttribute = await this.consumptionController.attributes.createOwnIdentityAttribute({
55
66
  content: content_1.IdentityAttribute.from({
56
67
  value: content_1.IdentityFileReference.from({
57
- value: ownFile.truncate()
68
+ value: ownFile.toFileReference(this.accountController.config.baseUrl).truncate()
58
69
  }),
59
70
  owner: this.accountController.identity.address,
60
- tags: peerFile.cache.tags
71
+ tags: ownFile.tags
61
72
  })
62
73
  });
63
- const ownSharedIdentityAttribute = await this.consumptionController.attributes.createSharedLocalAttributeCopy({
64
- sourceAttributeId: repositoryAttribute.id,
65
- peer: requestInfo.peer,
66
- requestReference: requestInfo.id
67
- });
74
+ const updatedAttribute = await this.consumptionController.attributes.addForwardingDetailsToAttribute(ownIdentityAttribute, requestInfo.peer, requestInfo.id);
68
75
  return content_1.TransferFileOwnershipAcceptResponseItem.from({
69
76
  result: content_1.ResponseItemResult.Accepted,
70
- attributeId: ownSharedIdentityAttribute.id,
71
- attribute: ownSharedIdentityAttribute.content
77
+ attributeId: updatedAttribute.id,
78
+ attribute: updatedAttribute.content
72
79
  });
73
80
  }
74
81
  async applyIncomingResponseItem(responseItem, _requestItem, requestInfo) {
75
82
  if (!(responseItem instanceof content_1.TransferFileOwnershipAcceptResponseItem)) {
76
83
  return;
77
84
  }
78
- await this.consumptionController.attributes.createSharedLocalAttribute({
85
+ await this.consumptionController.attributes.createPeerIdentityAttribute({
79
86
  id: responseItem.attributeId,
80
87
  content: responseItem.attribute,
81
- requestReference: requestInfo.id,
82
- peer: requestInfo.peer
88
+ peer: requestInfo.peer,
89
+ sourceReference: requestInfo.id
83
90
  });
84
91
  }
85
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransferFileOwnershipRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransferFileOwnershipRequestItemProcessor.js","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/transferFileOwnership/TransferFileOwnershipRequestItemProcessor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAppropriateResponseItem.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/utility/createAppropriateResponseItem.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wCAAwC,EACxC,qCAAqC,EACrC,iCAAiC,EACjC,iBAAiB,EACjB,kCAAkC,EAClC,+BAA+B,EAElC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAyE,MAAM,qBAAqB,CAAC;AAClI,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAA8B,6BAA6B,CACvD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,iCAAiC,GAAG,wCAAwC,GAAG,qCAAqC,CAAC,CAAC;AACjI,wBAA8B,6BAA6B,CACvD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,+BAA+B,GAAG,wCAAwC,GAAG,qCAAqC,CAAC,CAAC;AAC/H,wBAA8B,6BAA6B,CACvD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,SAAS,GACpB,OAAO,CAAC,kCAAkC,GAAG,wCAAwC,GAAG,qCAAqC,CAAC,CAAC"}
1
+ {"version":3,"file":"createAppropriateResponseItem.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/utility/createAppropriateResponseItem.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wCAAwC,EACxC,qCAAqC,EACrC,iCAAiC,EACjC,iBAAiB,EACjB,kCAAkC,EAClC,+BAA+B,EAElC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAA8B,6BAA6B,CACvD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,QAAQ,GACnB,OAAO,CAAC,iCAAiC,GAAG,wCAAwC,GAAG,qCAAqC,CAAC,CAAC;AACjI,wBAA8B,6BAA6B,CACvD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,+BAA+B,GAAG,wCAAwC,GAAG,qCAAqC,CAAC,CAAC;AAC/H,wBAA8B,6BAA6B,CACvD,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,SAAS,GACpB,OAAO,CAAC,kCAAkC,GAAG,wCAAwC,GAAG,qCAAqC,CAAC,CAAC"}
@@ -2,92 +2,70 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = createAppropriateResponseItem;
4
4
  const content_1 = require("@nmshd/content");
5
- const attributes_1 = require("../../../attributes");
6
5
  async function createAppropriateResponseItem(identityAttribute, requestInfo, attributesController, itemType) {
7
- const repositoryAttribute = await getSourceRepositoryAttribute(identityAttribute, attributesController);
8
- const query = {
9
- "deletionInfo.deletionStatus": {
10
- $nin: [
11
- attributes_1.LocalAttributeDeletionStatus.DeletedByPeer,
12
- attributes_1.LocalAttributeDeletionStatus.DeletedByOwner,
13
- attributes_1.LocalAttributeDeletionStatus.ToBeDeletedByPeer,
14
- attributes_1.LocalAttributeDeletionStatus.ToBeDeleted
15
- ]
16
- }
17
- };
18
- const latestSharedVersions = await attributesController.getSharedVersionsOfAttribute(repositoryAttribute.id, [requestInfo.peer], true, query);
6
+ const ownIdentityAttribute = await getOwnIdentityAttribute(identityAttribute, attributesController);
7
+ const latestSharedVersions = await attributesController.getVersionsOfAttributeSharedWithPeer(ownIdentityAttribute, requestInfo.peer);
19
8
  const latestSharedVersion = latestSharedVersions.length > 0 ? latestSharedVersions[0] : undefined;
20
9
  if (!latestSharedVersion) {
21
- const newOwnSharedIdentityAttribute = await attributesController.createSharedLocalAttributeCopy({
22
- peer: requestInfo.peer,
23
- requestReference: requestInfo.id,
24
- sourceAttributeId: repositoryAttribute.id
25
- });
10
+ const updatedAttribute = await attributesController.addForwardingDetailsToAttribute(ownIdentityAttribute, requestInfo.peer, requestInfo.id);
26
11
  switch (itemType) {
27
12
  case "Create":
28
13
  return content_1.CreateAttributeAcceptResponseItem.from({
29
14
  result: content_1.ResponseItemResult.Accepted,
30
- attributeId: newOwnSharedIdentityAttribute.id
15
+ attributeId: updatedAttribute.id
31
16
  });
32
17
  case "Read":
33
18
  return content_1.ReadAttributeAcceptResponseItem.from({
34
19
  result: content_1.ResponseItemResult.Accepted,
35
- attributeId: newOwnSharedIdentityAttribute.id,
36
- attribute: newOwnSharedIdentityAttribute.content
20
+ attributeId: ownIdentityAttribute.id,
21
+ attribute: updatedAttribute.content
37
22
  });
38
23
  case "Propose":
39
24
  return content_1.ProposeAttributeAcceptResponseItem.from({
40
25
  result: content_1.ResponseItemResult.Accepted,
41
- attributeId: newOwnSharedIdentityAttribute.id,
42
- attribute: newOwnSharedIdentityAttribute.content
26
+ attributeId: ownIdentityAttribute.id,
27
+ attribute: updatedAttribute.content
43
28
  });
44
29
  }
45
30
  }
46
- if (latestSharedVersion.shareInfo.sourceAttribute.equals(repositoryAttribute.id)) {
31
+ if (latestSharedVersion.id.equals(ownIdentityAttribute.id)) {
32
+ const forwardingDetails = await attributesController.getForwardingDetailsForPeer(latestSharedVersion, requestInfo.peer, true);
33
+ if (forwardingDetails) {
34
+ await attributesController.setForwardedDeletionInfoOfAttribute(latestSharedVersion, undefined, requestInfo.peer, true);
35
+ }
47
36
  return content_1.AttributeAlreadySharedAcceptResponseItem.from({
48
37
  result: content_1.ResponseItemResult.Accepted,
49
38
  attributeId: latestSharedVersion.id
50
39
  });
51
40
  }
52
- const ownSharedIdentityAttributeSuccessorParams = {
53
- content: repositoryAttribute.content,
54
- shareInfo: attributes_1.LocalAttributeShareInfo.from({
55
- peer: requestInfo.peer,
56
- requestReference: requestInfo.id,
57
- sourceAttribute: repositoryAttribute.id
58
- })
59
- };
60
- const ownSharedIdentityAttributesAfterSuccession = await attributesController.succeedOwnSharedIdentityAttribute(latestSharedVersion.id, ownSharedIdentityAttributeSuccessorParams);
61
- const succeededOwnSharedIdentityAttribute = ownSharedIdentityAttributesAfterSuccession.successor;
41
+ const updatedAttribute = await attributesController.addForwardingDetailsToAttribute(ownIdentityAttribute, requestInfo.peer, requestInfo.id);
62
42
  return content_1.AttributeSuccessionAcceptResponseItem.from({
63
43
  result: content_1.ResponseItemResult.Accepted,
64
- successorId: succeededOwnSharedIdentityAttribute.id,
65
- successorContent: succeededOwnSharedIdentityAttribute.content,
44
+ successorId: updatedAttribute.id,
45
+ successorContent: updatedAttribute.content,
66
46
  predecessorId: latestSharedVersion.id
67
47
  });
68
48
  }
69
- async function getSourceRepositoryAttribute(attribute, attributesController) {
70
- const existingRepositoryAttribute = await attributesController.getRepositoryAttributeWithSameValue(attribute.value.toJSON());
71
- if (!existingRepositoryAttribute) {
72
- return await attributesController.createRepositoryAttribute({
73
- content: attribute
74
- });
49
+ async function getOwnIdentityAttribute(attribute, attributesController) {
50
+ const existingOwnIdentityAttribute = await attributesController.getOwnIdentityAttributeWithSameValue(attribute.value.toJSON());
51
+ if (!existingOwnIdentityAttribute) {
52
+ return await attributesController.createOwnIdentityAttribute({ content: attribute });
75
53
  }
76
- const newTags = attribute.tags?.filter((tag) => !existingRepositoryAttribute.content.tags?.includes(tag));
54
+ const newTags = attribute.tags?.filter((tag) => !existingOwnIdentityAttribute.content.tags?.includes(tag));
77
55
  if (!newTags || newTags.length === 0)
78
- return existingRepositoryAttribute;
79
- const succeededRepositoryAttribute = await mergeTagsOfRepositoryAttribute(existingRepositoryAttribute, newTags, attributesController);
80
- return succeededRepositoryAttribute;
56
+ return existingOwnIdentityAttribute;
57
+ const succeededOwnIdentityAttribute = await mergeTagsOfOwnIdentityAttribute(existingOwnIdentityAttribute, newTags, attributesController);
58
+ return succeededOwnIdentityAttribute;
81
59
  }
82
- async function mergeTagsOfRepositoryAttribute(existingRepositoryAttribute, newTags, attributesController) {
83
- const repositoryAttributeSuccessorParams = {
60
+ async function mergeTagsOfOwnIdentityAttribute(ownIdentityAttribute, newTags, attributesController) {
61
+ const ownIdentityAttributeSuccessorParams = {
84
62
  content: {
85
- ...existingRepositoryAttribute.content.toJSON(),
86
- tags: [...(existingRepositoryAttribute.content.tags ?? []), ...newTags]
63
+ ...ownIdentityAttribute.content.toJSON(),
64
+ tags: [...(ownIdentityAttribute.content.tags ?? []), ...newTags]
87
65
  },
88
- succeeds: existingRepositoryAttribute.id.toString()
66
+ succeeds: ownIdentityAttribute.id.toString()
89
67
  };
90
- const repositoryAttributesAfterSuccession = await attributesController.succeedRepositoryAttribute(existingRepositoryAttribute.id, repositoryAttributeSuccessorParams);
91
- return repositoryAttributesAfterSuccession.successor;
68
+ const ownIdentityAttributesAfterSuccession = await attributesController.succeedOwnIdentityAttribute(ownIdentityAttribute, ownIdentityAttributeSuccessorParams);
69
+ return ownIdentityAttributesAfterSuccession.successor;
92
70
  }
93
71
  //# sourceMappingURL=createAppropriateResponseItem.js.map