@nmshd/runtime 2.0.0-beta.3 → 2.0.0-beta.30

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 (473) hide show
  1. package/dist/DatabaseSchemaUpgrader.js.map +1 -1
  2. package/dist/Runtime.d.ts +7 -5
  3. package/dist/Runtime.js +36 -9
  4. package/dist/Runtime.js.map +1 -1
  5. package/dist/buildInformation.js +5 -5
  6. package/dist/dataViews/DataViewExpander.d.ts +25 -9
  7. package/dist/dataViews/DataViewExpander.js +448 -105
  8. package/dist/dataViews/DataViewExpander.js.map +1 -1
  9. package/dist/dataViews/DataViewObject.d.ts +4 -6
  10. package/dist/dataViews/common/DVOError.d.ts +4 -0
  11. package/dist/dataViews/common/{Warning.js → DVOError.js} +1 -1
  12. package/dist/dataViews/common/DVOError.js.map +1 -0
  13. package/dist/dataViews/common/DVOWarning.d.ts +4 -0
  14. package/dist/dataViews/common/{Error.js → DVOWarning.js} +1 -1
  15. package/dist/dataViews/common/DVOWarning.js.map +1 -0
  16. package/dist/dataViews/common/index.d.ts +2 -2
  17. package/dist/dataViews/common/index.js +2 -2
  18. package/dist/dataViews/common/index.js.map +1 -1
  19. package/dist/dataViews/consumption/DecidableRequestItemDVOs.d.ts +6 -8
  20. package/dist/dataViews/consumption/LocalAttributeDVO.d.ts +49 -3
  21. package/dist/dataViews/consumption/LocalRequestDVO.d.ts +2 -3
  22. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.d.ts +4 -2
  23. package/dist/dataViews/content/AttributeDVOs.d.ts +33 -8
  24. package/dist/dataViews/content/RequestItemDVOs.d.ts +5 -8
  25. package/dist/dataViews/content/ResponseDVO.d.ts +8 -0
  26. package/dist/{useCases/consumption/attributes/ExtendedAttributeValue.js → dataViews/content/ResponseDVO.js} +1 -1
  27. package/dist/dataViews/content/ResponseDVO.js.map +1 -0
  28. package/dist/dataViews/content/ResponseItemDVOs.d.ts +41 -0
  29. package/dist/dataViews/content/ResponseItemDVOs.js +3 -0
  30. package/dist/dataViews/content/ResponseItemDVOs.js.map +1 -0
  31. package/dist/dataViews/content/index.d.ts +2 -0
  32. package/dist/dataViews/content/index.js +2 -0
  33. package/dist/dataViews/content/index.js.map +1 -1
  34. package/dist/dataViews/transport/RelationshipDVO.d.ts +1 -0
  35. package/dist/dataViews/transport/RelationshipTemplateDVO.d.ts +2 -0
  36. package/dist/events/EventProxy.d.ts +12 -0
  37. package/dist/events/EventProxy.js +114 -0
  38. package/dist/events/EventProxy.js.map +1 -0
  39. package/dist/events/consumption/AttributeListenerCreatedEvent.d.ts +6 -0
  40. package/dist/events/consumption/AttributeListenerCreatedEvent.js +12 -0
  41. package/dist/events/consumption/AttributeListenerCreatedEvent.js.map +1 -0
  42. package/dist/events/consumption/AttributeListenerTriggeredEvent.d.ts +11 -0
  43. package/dist/events/consumption/AttributeListenerTriggeredEvent.js +12 -0
  44. package/dist/events/consumption/AttributeListenerTriggeredEvent.js.map +1 -0
  45. package/dist/events/consumption/MessageProcessedEvent.d.ts +15 -0
  46. package/dist/events/consumption/MessageProcessedEvent.js +18 -0
  47. package/dist/events/consumption/MessageProcessedEvent.js.map +1 -0
  48. package/dist/events/consumption/RelationshipTemplateProcessedEvent.d.ts +17 -0
  49. package/dist/events/consumption/RelationshipTemplateProcessedEvent.js +22 -0
  50. package/dist/events/consumption/RelationshipTemplateProcessedEvent.js.map +1 -0
  51. package/dist/events/consumption/index.d.ts +16 -0
  52. package/dist/events/consumption/index.js +33 -0
  53. package/dist/events/consumption/index.js.map +1 -0
  54. package/dist/events/index.d.ts +3 -23
  55. package/dist/events/index.js +3 -23
  56. package/dist/events/index.js.map +1 -1
  57. package/dist/events/runtime/index.d.ts +5 -0
  58. package/dist/events/runtime/index.js +22 -0
  59. package/dist/events/runtime/index.js.map +1 -0
  60. package/dist/events/transport/MessageDeliveredEvent.d.ts +6 -0
  61. package/dist/events/transport/MessageDeliveredEvent.js +13 -0
  62. package/dist/events/transport/MessageDeliveredEvent.js.map +1 -0
  63. package/dist/events/transport/index.d.ts +5 -0
  64. package/dist/events/transport/index.js +22 -0
  65. package/dist/events/transport/index.js.map +1 -0
  66. package/dist/extensibility/AnonymousServices.js.map +1 -1
  67. package/dist/extensibility/ConsumptionServices.d.ts +3 -2
  68. package/dist/extensibility/ConsumptionServices.js +5 -2
  69. package/dist/extensibility/ConsumptionServices.js.map +1 -1
  70. package/dist/extensibility/TransportServices.js.map +1 -1
  71. package/dist/extensibility/facades/anonymous/AnonymousTokensFacade.js.map +1 -1
  72. package/dist/extensibility/facades/consumption/AttributeListenersFacade.d.ts +10 -0
  73. package/dist/extensibility/facades/consumption/AttributeListenersFacade.js +37 -0
  74. package/dist/extensibility/facades/consumption/AttributeListenersFacade.js.map +1 -0
  75. package/dist/extensibility/facades/consumption/AttributesFacade.d.ts +5 -3
  76. package/dist/extensibility/facades/consumption/AttributesFacade.js +8 -2
  77. package/dist/extensibility/facades/consumption/AttributesFacade.js.map +1 -1
  78. package/dist/extensibility/facades/consumption/DraftsFacade.js.map +1 -1
  79. package/dist/extensibility/facades/consumption/IncomingRequestsFacade.js.map +1 -1
  80. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.d.ts +5 -3
  81. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js +8 -2
  82. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js.map +1 -1
  83. package/dist/extensibility/facades/consumption/SettingsFacade.js.map +1 -1
  84. package/dist/extensibility/facades/consumption/index.d.ts +1 -0
  85. package/dist/extensibility/facades/consumption/index.js +1 -0
  86. package/dist/extensibility/facades/consumption/index.js.map +1 -1
  87. package/dist/extensibility/facades/transport/AccountFacade.d.ts +4 -4
  88. package/dist/extensibility/facades/transport/AccountFacade.js +8 -8
  89. package/dist/extensibility/facades/transport/AccountFacade.js.map +1 -1
  90. package/dist/extensibility/facades/transport/ChallengesFacade.js.map +1 -1
  91. package/dist/extensibility/facades/transport/DevicesFacade.js.map +1 -1
  92. package/dist/extensibility/facades/transport/FilesFacade.d.ts +4 -4
  93. package/dist/extensibility/facades/transport/FilesFacade.js +5 -5
  94. package/dist/extensibility/facades/transport/FilesFacade.js.map +1 -1
  95. package/dist/extensibility/facades/transport/IdentityFacade.js.map +1 -1
  96. package/dist/extensibility/facades/transport/MessagesFacade.js.map +1 -1
  97. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.js.map +1 -1
  98. package/dist/extensibility/facades/transport/RelationshipsFacade.d.ts +2 -4
  99. package/dist/extensibility/facades/transport/RelationshipsFacade.js +1 -7
  100. package/dist/extensibility/facades/transport/RelationshipsFacade.js.map +1 -1
  101. package/dist/extensibility/facades/transport/TokensFacade.js.map +1 -1
  102. package/dist/modules/AttributeListenerModule.d.ts +9 -0
  103. package/dist/modules/AttributeListenerModule.js +87 -0
  104. package/dist/modules/AttributeListenerModule.js.map +1 -0
  105. package/dist/modules/DeciderModule.d.ts +5 -3
  106. package/dist/modules/DeciderModule.js +29 -3
  107. package/dist/modules/DeciderModule.js.map +1 -1
  108. package/dist/modules/MessageModule.js +1 -1
  109. package/dist/modules/MessageModule.js.map +1 -1
  110. package/dist/modules/RequestModule.d.ts +3 -3
  111. package/dist/modules/RequestModule.js +69 -35
  112. package/dist/modules/RequestModule.js.map +1 -1
  113. package/dist/modules/index.d.ts +1 -0
  114. package/dist/modules/index.js +1 -0
  115. package/dist/modules/index.js.map +1 -1
  116. package/dist/types/consumption/LocalAttributeDTO.d.ts +1 -0
  117. package/dist/types/consumption/LocalAttributeListenerDTO.d.ts +6 -0
  118. package/dist/types/consumption/LocalAttributeListenerDTO.js +3 -0
  119. package/dist/types/consumption/LocalAttributeListenerDTO.js.map +1 -0
  120. package/dist/types/consumption/SettingDTO.d.ts +0 -1
  121. package/dist/types/consumption/index.d.ts +1 -0
  122. package/dist/types/consumption/index.js +1 -0
  123. package/dist/types/consumption/index.js.map +1 -1
  124. package/dist/types/transport/RelationshipTemplateDTO.d.ts +0 -1
  125. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByIdAndKey.d.ts +5 -5
  126. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByIdAndKey.js +9 -7
  127. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByIdAndKey.js.map +1 -1
  128. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByTruncatedReference.d.ts +5 -5
  129. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByTruncatedReference.js +9 -6
  130. package/dist/useCases/anonymous/tokens/LoadPeerTokenAnonymousByTruncatedReference.js.map +1 -1
  131. package/dist/useCases/common/RuntimeErrors.d.ts +2 -19
  132. package/dist/useCases/common/RuntimeErrors.js +4 -43
  133. package/dist/useCases/common/RuntimeErrors.js.map +1 -1
  134. package/dist/useCases/common/SchemaRepository.js +1 -1
  135. package/dist/useCases/common/SchemaRepository.js.map +1 -1
  136. package/dist/useCases/common/Schemas.d.ts +13 -6
  137. package/dist/useCases/common/Schemas.js +15346 -2900
  138. package/dist/useCases/common/Schemas.js.map +1 -1
  139. package/dist/useCases/common/UseCase.js +1 -4
  140. package/dist/useCases/common/UseCase.js.map +1 -1
  141. package/dist/useCases/common/index.d.ts +3 -4
  142. package/dist/useCases/common/index.js +3 -4
  143. package/dist/useCases/common/index.js.map +1 -1
  144. package/dist/useCases/common/validation/IValidator.d.ts +1 -1
  145. package/dist/useCases/common/validation/SchemaValidator.d.ts +2 -2
  146. package/dist/useCases/common/validation/SchemaValidator.js +5 -3
  147. package/dist/useCases/common/validation/SchemaValidator.js.map +1 -1
  148. package/dist/useCases/common/validation/ValidatableStrings.d.ts +73 -0
  149. package/dist/useCases/common/validation/ValidatableStrings.js +3 -0
  150. package/dist/useCases/common/validation/ValidatableStrings.js.map +1 -0
  151. package/dist/useCases/common/validation/ValidationFailure.d.ts +6 -0
  152. package/dist/useCases/common/validation/ValidationFailure.js +11 -0
  153. package/dist/useCases/common/validation/ValidationFailure.js.map +1 -0
  154. package/dist/useCases/common/validation/ValidationResult.d.ts +11 -0
  155. package/dist/useCases/common/validation/ValidationResult.js +31 -0
  156. package/dist/useCases/common/validation/ValidationResult.js.map +1 -0
  157. package/dist/useCases/consumption/attributeListeners/AttributeListenerMapper.d.ts +6 -0
  158. package/dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js +17 -0
  159. package/dist/useCases/consumption/attributeListeners/AttributeListenerMapper.js.map +1 -0
  160. package/dist/useCases/consumption/attributeListeners/GetAttributeListener.d.ts +16 -0
  161. package/dist/useCases/consumption/attributeListeners/GetAttributeListener.js +51 -0
  162. package/dist/useCases/consumption/attributeListeners/GetAttributeListener.js.map +1 -0
  163. package/dist/useCases/consumption/attributeListeners/GetAttributeListeners.d.ts +9 -0
  164. package/dist/useCases/consumption/attributeListeners/GetAttributeListeners.js +37 -0
  165. package/dist/useCases/consumption/attributeListeners/GetAttributeListeners.js.map +1 -0
  166. package/dist/useCases/consumption/attributeListeners/index.d.ts +3 -0
  167. package/dist/useCases/consumption/attributeListeners/index.js +20 -0
  168. package/dist/useCases/consumption/attributeListeners/index.js.map +1 -0
  169. package/dist/useCases/consumption/attributes/AttributeMapper.js +1 -0
  170. package/dist/useCases/consumption/attributes/AttributeMapper.js.map +1 -1
  171. package/dist/useCases/consumption/attributes/CreateAttribute.d.ts +6 -8
  172. package/dist/useCases/consumption/attributes/CreateAttribute.js +3 -12
  173. package/dist/useCases/consumption/attributes/CreateAttribute.js.map +1 -1
  174. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.d.ts +8 -19
  175. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js +3 -12
  176. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js.map +1 -1
  177. package/dist/useCases/consumption/attributes/DeleteAttribute.d.ts +6 -11
  178. package/dist/useCases/consumption/attributes/DeleteAttribute.js +2 -11
  179. package/dist/useCases/consumption/attributes/DeleteAttribute.js.map +1 -1
  180. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.d.ts +2 -2
  181. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js +1 -1
  182. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js.map +1 -1
  183. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.d.ts +4 -4
  184. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js +6 -3
  185. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js.map +1 -1
  186. package/dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.d.ts +13 -0
  187. package/dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.js +40 -0
  188. package/dist/useCases/consumption/attributes/ExecuteThirdPartyRelationshipAttributeQuery.js.map +1 -0
  189. package/dist/useCases/consumption/attributes/GetAttribute.d.ts +4 -7
  190. package/dist/useCases/consumption/attributes/GetAttribute.js +2 -3
  191. package/dist/useCases/consumption/attributes/GetAttribute.js.map +1 -1
  192. package/dist/useCases/consumption/attributes/GetAttributes.d.ts +3 -2
  193. package/dist/useCases/consumption/attributes/GetAttributes.js +3 -1
  194. package/dist/useCases/consumption/attributes/GetAttributes.js.map +1 -1
  195. package/dist/useCases/consumption/attributes/GetPeerAttributes.d.ts +2 -2
  196. package/dist/useCases/consumption/attributes/GetPeerAttributes.js +1 -1
  197. package/dist/useCases/consumption/attributes/GetPeerAttributes.js.map +1 -1
  198. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.d.ts +2 -2
  199. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js +1 -1
  200. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js.map +1 -1
  201. package/dist/useCases/consumption/attributes/SucceedAttribute.d.ts +8 -13
  202. package/dist/useCases/consumption/attributes/SucceedAttribute.js +3 -12
  203. package/dist/useCases/consumption/attributes/SucceedAttribute.js.map +1 -1
  204. package/dist/useCases/consumption/attributes/UpdateAttribute.d.ts +8 -13
  205. package/dist/useCases/consumption/attributes/UpdateAttribute.js +3 -12
  206. package/dist/useCases/consumption/attributes/UpdateAttribute.js.map +1 -1
  207. package/dist/useCases/consumption/attributes/index.d.ts +1 -0
  208. package/dist/useCases/consumption/attributes/index.js +1 -0
  209. package/dist/useCases/consumption/attributes/index.js.map +1 -1
  210. package/dist/useCases/consumption/drafts/CreateDraft.d.ts +4 -4
  211. package/dist/useCases/consumption/drafts/CreateDraft.js +9 -7
  212. package/dist/useCases/consumption/drafts/CreateDraft.js.map +1 -1
  213. package/dist/useCases/consumption/drafts/DeleteDraft.d.ts +5 -5
  214. package/dist/useCases/consumption/drafts/DeleteDraft.js +9 -8
  215. package/dist/useCases/consumption/drafts/DeleteDraft.js.map +1 -1
  216. package/dist/useCases/consumption/drafts/GetDraft.d.ts +5 -5
  217. package/dist/useCases/consumption/drafts/GetDraft.js +9 -5
  218. package/dist/useCases/consumption/drafts/GetDraft.js.map +1 -1
  219. package/dist/useCases/consumption/drafts/GetDrafts.d.ts +6 -2
  220. package/dist/useCases/consumption/drafts/GetDrafts.js +10 -1
  221. package/dist/useCases/consumption/drafts/GetDrafts.js.map +1 -1
  222. package/dist/useCases/consumption/drafts/UpdateDraft.d.ts +5 -5
  223. package/dist/useCases/consumption/drafts/UpdateDraft.js +9 -7
  224. package/dist/useCases/consumption/drafts/UpdateDraft.js.map +1 -1
  225. package/dist/useCases/consumption/index.d.ts +1 -0
  226. package/dist/useCases/consumption/index.js +1 -0
  227. package/dist/useCases/consumption/index.js.map +1 -1
  228. package/dist/useCases/consumption/requests/AcceptIncomingRequest.d.ts +2 -3
  229. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js +3 -13
  230. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js.map +1 -1
  231. package/dist/useCases/consumption/requests/CanAcceptIncomingRequest.js.map +1 -1
  232. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.d.ts +8 -4
  233. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js +8 -5
  234. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js.map +1 -1
  235. package/dist/useCases/consumption/requests/CanRejectIncomingRequest.js.map +1 -1
  236. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.d.ts +4 -12
  237. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js +9 -25
  238. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js.map +1 -1
  239. package/dist/useCases/consumption/requests/CompleteIncomingRequest.d.ts +6 -16
  240. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js +23 -43
  241. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js.map +1 -1
  242. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.d.ts +4 -12
  243. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js +10 -27
  244. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js.map +1 -1
  245. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.d.ts +5 -12
  246. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js +3 -9
  247. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map +1 -1
  248. package/dist/useCases/consumption/requests/CreateOutgoingRequest.d.ts +6 -10
  249. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js +5 -12
  250. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js.map +1 -1
  251. package/dist/useCases/consumption/requests/DiscardOutgoingRequest.d.ts +11 -0
  252. package/dist/useCases/consumption/requests/DiscardOutgoingRequest.js +41 -0
  253. package/dist/useCases/consumption/requests/DiscardOutgoingRequest.js.map +1 -0
  254. package/dist/useCases/consumption/requests/GetIncomingRequest.d.ts +2 -5
  255. package/dist/useCases/consumption/requests/GetIncomingRequest.js.map +1 -1
  256. package/dist/useCases/consumption/requests/GetIncomingRequests.js.map +1 -1
  257. package/dist/useCases/consumption/requests/GetOutgoingRequest.d.ts +2 -5
  258. package/dist/useCases/consumption/requests/GetOutgoingRequest.js.map +1 -1
  259. package/dist/useCases/consumption/requests/GetOutgoingRequests.js.map +1 -1
  260. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.d.ts +4 -9
  261. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js +5 -11
  262. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js.map +1 -1
  263. package/dist/useCases/consumption/requests/RejectIncomingRequest.d.ts +2 -3
  264. package/dist/useCases/consumption/requests/RejectIncomingRequest.js +3 -13
  265. package/dist/useCases/consumption/requests/RejectIncomingRequest.js.map +1 -1
  266. package/dist/useCases/consumption/requests/RequestMapper.js.map +1 -1
  267. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.d.ts +4 -8
  268. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js +3 -12
  269. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js.map +1 -1
  270. package/dist/useCases/consumption/requests/SentOutgoingRequest.d.ts +5 -12
  271. package/dist/useCases/consumption/requests/SentOutgoingRequest.js +3 -14
  272. package/dist/useCases/consumption/requests/SentOutgoingRequest.js.map +1 -1
  273. package/dist/useCases/consumption/requests/index.d.ts +2 -0
  274. package/dist/useCases/consumption/requests/index.js +2 -0
  275. package/dist/useCases/consumption/requests/index.js.map +1 -1
  276. package/dist/useCases/consumption/settings/CreateSetting.d.ts +8 -8
  277. package/dist/useCases/consumption/settings/CreateSetting.js +9 -13
  278. package/dist/useCases/consumption/settings/CreateSetting.js.map +1 -1
  279. package/dist/useCases/consumption/settings/DeleteSetting.d.ts +5 -5
  280. package/dist/useCases/consumption/settings/DeleteSetting.js +9 -6
  281. package/dist/useCases/consumption/settings/DeleteSetting.js.map +1 -1
  282. package/dist/useCases/consumption/settings/GetSetting.d.ts +5 -5
  283. package/dist/useCases/consumption/settings/GetSetting.js +9 -6
  284. package/dist/useCases/consumption/settings/GetSetting.js.map +1 -1
  285. package/dist/useCases/consumption/settings/GetSettings.d.ts +6 -2
  286. package/dist/useCases/consumption/settings/GetSettings.js +10 -1
  287. package/dist/useCases/consumption/settings/GetSettings.js.map +1 -1
  288. package/dist/useCases/consumption/settings/SettingMapper.js +0 -1
  289. package/dist/useCases/consumption/settings/SettingMapper.js.map +1 -1
  290. package/dist/useCases/consumption/settings/UpdateSetting.d.ts +5 -5
  291. package/dist/useCases/consumption/settings/UpdateSetting.js +9 -7
  292. package/dist/useCases/consumption/settings/UpdateSetting.js.map +1 -1
  293. package/dist/useCases/transport/account/DisableAutoSync.js.map +1 -1
  294. package/dist/useCases/transport/account/EnableAutoSync.js.map +1 -1
  295. package/dist/useCases/transport/account/GetDeviceInfo.js.map +1 -1
  296. package/dist/useCases/transport/account/GetIdentityInfo.js.map +1 -1
  297. package/dist/useCases/transport/account/GetSyncInfo.js.map +1 -1
  298. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.d.ts +34 -0
  299. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.js +112 -0
  300. package/dist/useCases/transport/account/LoadItemFromTruncatedReference.js.map +1 -0
  301. package/dist/useCases/transport/account/RegisterPushNotificationToken.d.ts +3 -3
  302. package/dist/useCases/transport/account/RegisterPushNotificationToken.js +8 -13
  303. package/dist/useCases/transport/account/RegisterPushNotificationToken.js.map +1 -1
  304. package/dist/useCases/transport/account/SyncDatawallet.js.map +1 -1
  305. package/dist/useCases/transport/account/SyncEverything.d.ts +3 -7
  306. package/dist/useCases/transport/account/SyncEverything.js +2 -33
  307. package/dist/useCases/transport/account/SyncEverything.js.map +1 -1
  308. package/dist/useCases/transport/account/index.d.ts +1 -0
  309. package/dist/useCases/transport/account/index.js +1 -0
  310. package/dist/useCases/transport/account/index.js.map +1 -1
  311. package/dist/useCases/transport/challenges/CreateChallenge.d.ts +2 -6
  312. package/dist/useCases/transport/challenges/CreateChallenge.js +3 -4
  313. package/dist/useCases/transport/challenges/CreateChallenge.js.map +1 -1
  314. package/dist/useCases/transport/challenges/ValidateChallenge.d.ts +2 -3
  315. package/dist/useCases/transport/challenges/ValidateChallenge.js +7 -7
  316. package/dist/useCases/transport/challenges/ValidateChallenge.js.map +1 -1
  317. package/dist/useCases/transport/devices/CreateDevice.d.ts +4 -4
  318. package/dist/useCases/transport/devices/CreateDevice.js +9 -8
  319. package/dist/useCases/transport/devices/CreateDevice.js.map +1 -1
  320. package/dist/useCases/transport/devices/CreateDeviceOnboardingToken.d.ts +6 -6
  321. package/dist/useCases/transport/devices/CreateDeviceOnboardingToken.js +10 -15
  322. package/dist/useCases/transport/devices/CreateDeviceOnboardingToken.js.map +1 -1
  323. package/dist/useCases/transport/devices/DeleteDevice.d.ts +5 -5
  324. package/dist/useCases/transport/devices/DeleteDevice.js +9 -8
  325. package/dist/useCases/transport/devices/DeleteDevice.js.map +1 -1
  326. package/dist/useCases/transport/devices/GetDevice.d.ts +5 -5
  327. package/dist/useCases/transport/devices/GetDevice.js +9 -6
  328. package/dist/useCases/transport/devices/GetDevice.js.map +1 -1
  329. package/dist/useCases/transport/devices/GetDeviceOnboardingInfo.d.ts +7 -3
  330. package/dist/useCases/transport/devices/GetDeviceOnboardingInfo.js +10 -1
  331. package/dist/useCases/transport/devices/GetDeviceOnboardingInfo.js.map +1 -1
  332. package/dist/useCases/transport/devices/GetDevices.js.map +1 -1
  333. package/dist/useCases/transport/devices/UpdateDevice.d.ts +5 -5
  334. package/dist/useCases/transport/devices/UpdateDevice.js +9 -8
  335. package/dist/useCases/transport/devices/UpdateDevice.js.map +1 -1
  336. package/dist/useCases/transport/files/CreateQrCodeForFile.d.ts +2 -5
  337. package/dist/useCases/transport/files/CreateQrCodeForFile.js.map +1 -1
  338. package/dist/useCases/transport/files/CreateTokenForFile.d.ts +3 -9
  339. package/dist/useCases/transport/files/CreateTokenForFile.js.map +1 -1
  340. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.d.ts +3 -9
  341. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
  342. package/dist/useCases/transport/files/DownloadFile.d.ts +2 -5
  343. package/dist/useCases/transport/files/DownloadFile.js.map +1 -1
  344. package/dist/useCases/transport/files/GetFile.d.ts +2 -5
  345. package/dist/useCases/transport/files/GetFile.js.map +1 -1
  346. package/dist/useCases/transport/files/GetFiles.d.ts +6 -2
  347. package/dist/useCases/transport/files/GetFiles.js +10 -1
  348. package/dist/useCases/transport/files/GetFiles.js.map +1 -1
  349. package/dist/useCases/transport/files/{LoadPeerFile.d.ts → GetOrLoadFile.d.ts} +10 -17
  350. package/dist/useCases/transport/files/{LoadPeerFile.js → GetOrLoadFile.js} +21 -22
  351. package/dist/useCases/transport/files/GetOrLoadFile.js.map +1 -0
  352. package/dist/useCases/transport/files/UploadOwnFile.d.ts +9 -5
  353. package/dist/useCases/transport/files/UploadOwnFile.js +25 -23
  354. package/dist/useCases/transport/files/UploadOwnFile.js.map +1 -1
  355. package/dist/useCases/transport/files/index.d.ts +1 -1
  356. package/dist/useCases/transport/files/index.js +1 -1
  357. package/dist/useCases/transport/files/index.js.map +1 -1
  358. package/dist/useCases/transport/identity/CheckIdentity.d.ts +5 -5
  359. package/dist/useCases/transport/identity/CheckIdentity.js +9 -6
  360. package/dist/useCases/transport/identity/CheckIdentity.js.map +1 -1
  361. package/dist/useCases/transport/messages/DownloadAttachment.d.ts +6 -6
  362. package/dist/useCases/transport/messages/DownloadAttachment.js +9 -9
  363. package/dist/useCases/transport/messages/DownloadAttachment.js.map +1 -1
  364. package/dist/useCases/transport/messages/GetAttachmentMetadata.d.ts +6 -6
  365. package/dist/useCases/transport/messages/GetAttachmentMetadata.js +9 -9
  366. package/dist/useCases/transport/messages/GetAttachmentMetadata.js.map +1 -1
  367. package/dist/useCases/transport/messages/GetMessage.d.ts +5 -5
  368. package/dist/useCases/transport/messages/GetMessage.js +9 -8
  369. package/dist/useCases/transport/messages/GetMessage.js.map +1 -1
  370. package/dist/useCases/transport/messages/GetMessages.d.ts +4 -4
  371. package/dist/useCases/transport/messages/GetMessages.js +9 -5
  372. package/dist/useCases/transport/messages/GetMessages.js.map +1 -1
  373. package/dist/useCases/transport/messages/SendMessage.d.ts +11 -10
  374. package/dist/useCases/transport/messages/SendMessage.js +10 -19
  375. package/dist/useCases/transport/messages/SendMessage.js.map +1 -1
  376. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.d.ts +8 -9
  377. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js +20 -18
  378. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js.map +1 -1
  379. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.d.ts +5 -5
  380. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js +9 -6
  381. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js.map +1 -1
  382. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.d.ts +6 -6
  383. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js +9 -7
  384. package/dist/useCases/transport/relationshipTemplates/CreateTokenForOwnRelationshipTemplate.js.map +1 -1
  385. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.d.ts +6 -6
  386. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js +9 -7
  387. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js.map +1 -1
  388. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplate.d.ts +5 -5
  389. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplate.js +9 -6
  390. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplate.js.map +1 -1
  391. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.d.ts +6 -3
  392. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js +12 -5
  393. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js.map +1 -1
  394. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.d.ts +5 -13
  395. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js +4 -13
  396. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js.map +1 -1
  397. package/dist/useCases/transport/relationshipTemplates/RelationshipTemplateMapper.js +0 -1
  398. package/dist/useCases/transport/relationshipTemplates/RelationshipTemplateMapper.js.map +1 -1
  399. package/dist/useCases/transport/relationships/AcceptRelationshipChange.d.ts +8 -10
  400. package/dist/useCases/transport/relationships/AcceptRelationshipChange.js +11 -19
  401. package/dist/useCases/transport/relationships/AcceptRelationshipChange.js.map +1 -1
  402. package/dist/useCases/transport/relationships/CreateRelationship.d.ts +7 -9
  403. package/dist/useCases/transport/relationships/CreateRelationship.js +11 -18
  404. package/dist/useCases/transport/relationships/CreateRelationship.js.map +1 -1
  405. package/dist/useCases/transport/relationships/GetAttributesForRelationship.d.ts +4 -4
  406. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js +1 -1
  407. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js.map +1 -1
  408. package/dist/useCases/transport/relationships/GetRelationship.d.ts +5 -5
  409. package/dist/useCases/transport/relationships/GetRelationship.js +9 -6
  410. package/dist/useCases/transport/relationships/GetRelationship.js.map +1 -1
  411. package/dist/useCases/transport/relationships/GetRelationshipByAddress.d.ts +5 -5
  412. package/dist/useCases/transport/relationships/GetRelationshipByAddress.js +9 -6
  413. package/dist/useCases/transport/relationships/GetRelationshipByAddress.js.map +1 -1
  414. package/dist/useCases/transport/relationships/GetRelationships.d.ts +6 -2
  415. package/dist/useCases/transport/relationships/GetRelationships.js +10 -1
  416. package/dist/useCases/transport/relationships/GetRelationships.js.map +1 -1
  417. package/dist/useCases/transport/relationships/RejectRelationshipChange.d.ts +8 -10
  418. package/dist/useCases/transport/relationships/RejectRelationshipChange.js +11 -19
  419. package/dist/useCases/transport/relationships/RejectRelationshipChange.js.map +1 -1
  420. package/dist/useCases/transport/relationships/RevokeRelationshipChange.d.ts +8 -10
  421. package/dist/useCases/transport/relationships/RevokeRelationshipChange.js +11 -19
  422. package/dist/useCases/transport/relationships/RevokeRelationshipChange.js.map +1 -1
  423. package/dist/useCases/transport/relationships/index.d.ts +0 -1
  424. package/dist/useCases/transport/relationships/index.js +0 -1
  425. package/dist/useCases/transport/relationships/index.js.map +1 -1
  426. package/dist/useCases/transport/tokens/CreateOwnToken.d.ts +6 -5
  427. package/dist/useCases/transport/tokens/CreateOwnToken.js +19 -14
  428. package/dist/useCases/transport/tokens/CreateOwnToken.js.map +1 -1
  429. package/dist/useCases/transport/tokens/GetQRCodeForToken.d.ts +5 -5
  430. package/dist/useCases/transport/tokens/GetQRCodeForToken.js +9 -6
  431. package/dist/useCases/transport/tokens/GetQRCodeForToken.js.map +1 -1
  432. package/dist/useCases/transport/tokens/GetToken.d.ts +5 -5
  433. package/dist/useCases/transport/tokens/GetToken.js +9 -6
  434. package/dist/useCases/transport/tokens/GetToken.js.map +1 -1
  435. package/dist/useCases/transport/tokens/GetTokens.d.ts +6 -2
  436. package/dist/useCases/transport/tokens/GetTokens.js +10 -1
  437. package/dist/useCases/transport/tokens/GetTokens.js.map +1 -1
  438. package/dist/useCases/transport/tokens/LoadPeerToken.d.ts +21 -10
  439. package/dist/useCases/transport/tokens/LoadPeerToken.js +36 -35
  440. package/dist/useCases/transport/tokens/LoadPeerToken.js.map +1 -1
  441. package/lib-web/nmshd.runtime.js +48330 -45345
  442. package/lib-web/nmshd.runtime.js.map +1 -1
  443. package/lib-web/nmshd.runtime.min.js +7 -7
  444. package/lib-web/nmshd.runtime.min.js.map +1 -1
  445. package/package.json +25 -31
  446. package/dist/dataViews/common/Error.d.ts +0 -4
  447. package/dist/dataViews/common/Error.js.map +0 -1
  448. package/dist/dataViews/common/Warning.d.ts +0 -4
  449. package/dist/dataViews/common/Warning.js.map +0 -1
  450. package/dist/events/transport/TransportLibraryInitializedEvent.d.ts +0 -5
  451. package/dist/events/transport/TransportLibraryInitializedEvent.js +0 -12
  452. package/dist/events/transport/TransportLibraryInitializedEvent.js.map +0 -1
  453. package/dist/events/transport/TransportLibraryInitializingEvent.d.ts +0 -5
  454. package/dist/events/transport/TransportLibraryInitializingEvent.js +0 -12
  455. package/dist/events/transport/TransportLibraryInitializingEvent.js.map +0 -1
  456. package/dist/useCases/common/RuntimeValidator.d.ts +0 -4
  457. package/dist/useCases/common/RuntimeValidator.js +0 -14
  458. package/dist/useCases/common/RuntimeValidator.js.map +0 -1
  459. package/dist/useCases/common/validation/AddressValidator.d.ts +0 -6
  460. package/dist/useCases/common/validation/AddressValidator.js +0 -25
  461. package/dist/useCases/common/validation/AddressValidator.js.map +0 -1
  462. package/dist/useCases/common/validation/DateValidator.d.ts +0 -6
  463. package/dist/useCases/common/validation/DateValidator.js +0 -26
  464. package/dist/useCases/common/validation/DateValidator.js.map +0 -1
  465. package/dist/useCases/common/validation/IdValidator.d.ts +0 -7
  466. package/dist/useCases/common/validation/IdValidator.js +0 -25
  467. package/dist/useCases/common/validation/IdValidator.js.map +0 -1
  468. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.d.ts +0 -10
  469. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.js.map +0 -1
  470. package/dist/useCases/transport/files/LoadPeerFile.js.map +0 -1
  471. package/dist/useCases/transport/relationships/CreateRelationshipChange.d.ts +0 -18
  472. package/dist/useCases/transport/relationships/CreateRelationshipChange.js +0 -47
  473. package/dist/useCases/transport/relationships/CreateRelationshipChange.js.map +0 -1
@@ -88,7 +88,7 @@ let DataViewExpander = class DataViewExpander {
88
88
  }
89
89
  return await this.expandLocalAttributeDTO(content);
90
90
  default:
91
- throw useCases_1.RuntimeErrors.general.notImplemented();
91
+ throw useCases_1.RuntimeErrors.general.notSupported(`No expander is defined for the @type '${type}'.`);
92
92
  }
93
93
  }
94
94
  async expandMessageDTO(message) {
@@ -236,40 +236,54 @@ let DataViewExpander = class DataViewExpander {
236
236
  async expandRelationshipTemplateDTO(template) {
237
237
  let onNewRelationship;
238
238
  let onExistingRelationship;
239
- let name = "i18n://dvo.template.name";
240
- if (template.content["@type"] === "RelationshipTemplateBody") {
241
- const templateBody = content_1.RelationshipTemplateBody.from(template.content).toJSON();
242
- if (templateBody.title) {
243
- name = templateBody.title;
239
+ const createdBy = await this.expandAddress(template.createdBy);
240
+ const type = template.isOwn ? "RelationshipTemplateDVO" : "PeerRelationshipTemplateDVO";
241
+ let name = template.isOwn ? "i18n://dvo.template.outgoing.name" : "i18n://dvo.template.incoming.name";
242
+ const description = template.isOwn ? "i18n://dvo.template.outgoing.description" : "i18n://dvo.template.incoming.description";
243
+ let expandedLocalRequest;
244
+ if (template.content["@type"] === "RelationshipTemplateContent") {
245
+ const templateContent = content_1.RelationshipTemplateContent.from(template.content).toJSON();
246
+ if (templateContent.title) {
247
+ name = templateContent.title;
244
248
  }
245
249
  let localRequest;
246
250
  if (!template.isOwn) {
247
- const onNewRelationshipRequest = await this.consumption.incomingRequests.getRequests({
251
+ const incomingRequestResult = await this.consumption.incomingRequests.getRequests({
248
252
  query: {
249
- "source.reference": template.id
253
+ "source.reference": template.id,
254
+ status: consumption_1.LocalRequestStatus.ManualDecisionRequired
250
255
  }
251
256
  });
252
- localRequest = onNewRelationshipRequest.value[0];
253
- return {
254
- name,
255
- type: "PeerRelationshipTemplateDVO",
256
- date: template.createdAt,
257
- ...template,
258
- createdBy: await this.expandAddress(template.createdBy),
259
- onNewRelationship: await this.expandLocalRequestDTO(localRequest)
260
- };
257
+ if (incomingRequestResult.value.length > 0) {
258
+ localRequest = incomingRequestResult.value[0];
259
+ expandedLocalRequest = await this.expandLocalRequestDTO(localRequest);
260
+ }
261
+ else {
262
+ const completedRequestResult = await this.consumption.incomingRequests.getRequests({
263
+ query: {
264
+ "source.reference": template.id,
265
+ status: [consumption_1.LocalRequestStatus.Decided, consumption_1.LocalRequestStatus.Completed]
266
+ }
267
+ });
268
+ if (completedRequestResult.value.length > 0) {
269
+ localRequest = completedRequestResult.value[0];
270
+ expandedLocalRequest = await this.expandLocalRequestDTO(localRequest);
271
+ }
272
+ }
261
273
  }
262
- onNewRelationship = await this.expandRequest(templateBody.onNewRelationship);
263
- if (templateBody.onExistingRelationship) {
264
- onExistingRelationship = await this.expandRequest(templateBody.onExistingRelationship);
274
+ onNewRelationship = await this.expandRequest(templateContent.onNewRelationship);
275
+ if (templateContent.onExistingRelationship) {
276
+ onExistingRelationship = await this.expandRequest(templateContent.onExistingRelationship);
265
277
  }
266
278
  }
267
279
  return {
268
280
  name,
269
- type: "RelationshipTemplateDVO",
281
+ description,
282
+ type,
270
283
  date: template.createdAt,
271
284
  ...template,
272
- createdBy: await this.expandAddress(template.createdBy),
285
+ createdBy,
286
+ request: expandedLocalRequest,
273
287
  onNewRelationship,
274
288
  onExistingRelationship
275
289
  };
@@ -293,13 +307,12 @@ let DataViewExpander = class DataViewExpander {
293
307
  items: itemDVOs
294
308
  };
295
309
  }
296
- /*
297
- public async expandRequests(requests: RequestJSON[]): Promise<RequestDVO[]> {
310
+ async expandRequests(requests) {
298
311
  const requestPromises = requests.map((request) => this.expandRequest(request));
299
312
  return await Promise.all(requestPromises);
300
313
  }
301
- */
302
314
  async expandRequestItem(requestItem, localRequestDTO) {
315
+ let error;
303
316
  let isDecidable = false;
304
317
  if (localRequestDTO && !localRequestDTO.isOwn && (localRequestDTO.status === "DecisionRequired" || localRequestDTO.status === "ManualDecisionRequired")) {
305
318
  isDecidable = true;
@@ -308,13 +321,23 @@ let DataViewExpander = class DataViewExpander {
308
321
  case "ReadAttributeRequestItem":
309
322
  const readAttributeRequestItem = requestItem;
310
323
  if (isDecidable) {
324
+ const processedQuery = await this.processAttributeQuery(readAttributeRequestItem.query);
325
+ // ThirdPartyAttributeQueries without results cannot be changed.
326
+ if (processedQuery.type === "ProcessedThirdPartyRelationshipAttributeQueryDVO" && processedQuery.results.length === 0) {
327
+ isDecidable = false;
328
+ error = {
329
+ code: "dvo.requestItem.error.noResultsForThirdPartyRelationshipAttributeQuery",
330
+ message: "There are no matching Attributes for this ThirdPartyRelationshipAttributeQuery. You cannot set any"
331
+ };
332
+ }
311
333
  return {
312
334
  ...readAttributeRequestItem,
313
335
  type: "DecidableReadAttributeRequestItemDVO",
314
336
  id: "",
315
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ReadAttributeRequestItem.name",
316
- query: await this.processIdentityAttributeQuery(readAttributeRequestItem.query),
317
- isDecidable
337
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.DecidableReadAttributeRequestItem.name",
338
+ query: processedQuery,
339
+ isDecidable,
340
+ error
318
341
  };
319
342
  }
320
343
  return {
@@ -322,39 +345,60 @@ let DataViewExpander = class DataViewExpander {
322
345
  type: "ReadAttributeRequestItemDVO",
323
346
  id: "",
324
347
  name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ReadAttributeRequestItem.name",
325
- query: this.expandIdentityAttributeQuery(readAttributeRequestItem.query),
348
+ query: await this.expandAttributeQuery(readAttributeRequestItem.query),
326
349
  isDecidable
327
350
  };
328
351
  case "CreateAttributeRequestItem":
329
352
  const createAttributeRequestItem = requestItem;
353
+ const attribute = await this.expandAttribute(createAttributeRequestItem.attribute);
354
+ let isIdentityAttribute = false;
355
+ if (attribute.type === "DraftIdentityAttributeDVO") {
356
+ isIdentityAttribute = true;
357
+ }
358
+ const name = requestItem.title;
359
+ const description = requestItem.description;
360
+ let fallbackName;
330
361
  if (isDecidable) {
362
+ fallbackName = "i18n://dvo.requestItem.DecidableCreateRelationshipAttributeRequestItem.name";
363
+ if (isIdentityAttribute) {
364
+ fallbackName = "i18n://dvo.requestItem.DecidableCreateIdentityAttributeRequestItem.name";
365
+ }
331
366
  return {
332
367
  ...createAttributeRequestItem,
333
368
  type: "DecidableCreateAttributeRequestItemDVO",
334
369
  id: "",
335
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateAttributeRequestItem.name",
336
- attribute: await this.expandAttribute(createAttributeRequestItem.attribute),
370
+ name: name ?? fallbackName,
371
+ description: description ?? fallbackName,
372
+ attribute,
337
373
  isDecidable
338
374
  };
339
375
  }
376
+ fallbackName = "i18n://dvo.requestItem.CreateRelationshipAttributeRequestItem.name";
377
+ if (isIdentityAttribute) {
378
+ fallbackName = "i18n://dvo.requestItem.CreateIdentityAttributeRequestItem.name";
379
+ }
340
380
  return {
341
381
  ...createAttributeRequestItem,
342
382
  type: "CreateAttributeRequestItemDVO",
343
383
  id: "",
344
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateAttributeRequestItem.name",
345
- attribute: await this.expandAttribute(createAttributeRequestItem.attribute),
384
+ name: name ?? fallbackName,
385
+ description: description ?? fallbackName,
386
+ attribute,
346
387
  isDecidable
347
388
  };
348
389
  case "ProposeAttributeRequestItem":
349
390
  const proposeAttributeRequestItem = requestItem;
391
+ if (localRequestDTO) {
392
+ proposeAttributeRequestItem.attribute.owner = localRequestDTO.isOwn ? localRequestDTO.peer : this.identityController.address.toString();
393
+ }
350
394
  if (isDecidable) {
351
395
  return {
352
396
  ...proposeAttributeRequestItem,
353
397
  type: "DecidableProposeAttributeRequestItemDVO",
354
398
  id: "",
355
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
399
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.DecidableProposeAttributeRequestItem.name",
356
400
  attribute: await this.expandAttribute(proposeAttributeRequestItem.attribute),
357
- query: await this.processIdentityAttributeQuery(proposeAttributeRequestItem.query),
401
+ query: await this.processAttributeQuery(proposeAttributeRequestItem.query),
358
402
  isDecidable
359
403
  };
360
404
  }
@@ -364,23 +408,19 @@ let DataViewExpander = class DataViewExpander {
364
408
  id: "",
365
409
  name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
366
410
  attribute: await this.expandAttribute(proposeAttributeRequestItem.attribute),
367
- query: this.expandIdentityAttributeQuery(proposeAttributeRequestItem.query),
411
+ query: await this.expandAttributeQuery(proposeAttributeRequestItem.query),
368
412
  isDecidable
369
413
  };
370
414
  case "ShareAttributeRequestItem":
371
415
  const shareAttributeRequestItem = requestItem;
372
- const attributeResult = await this.consumption.attributes.getAttribute({ id: shareAttributeRequestItem.attributeId });
373
- const attribute = attributeResult.value;
374
- const attributeDVO = await this.expandLocalAttributeDTO(attribute);
375
- const shareWith = await this.expandAddress(shareAttributeRequestItem.shareWith);
416
+ const attributeDVO = await this.expandAttribute(shareAttributeRequestItem.attribute);
376
417
  if (isDecidable) {
377
418
  return {
378
419
  ...shareAttributeRequestItem,
379
420
  type: "DecidableShareAttributeRequestItemDVO",
380
421
  id: "",
381
- name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
422
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.DecidableProposeAttributeRequestItem.name",
382
423
  attribute: attributeDVO,
383
- shareWith,
384
424
  isDecidable
385
425
  };
386
426
  }
@@ -390,7 +430,6 @@ let DataViewExpander = class DataViewExpander {
390
430
  id: "",
391
431
  name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
392
432
  attribute: attributeDVO,
393
- shareWith,
394
433
  isDecidable
395
434
  };
396
435
  default:
@@ -425,6 +464,85 @@ let DataViewExpander = class DataViewExpander {
425
464
  }
426
465
  return await this.expandRequestItem(requestGroupOrItem, localRequestDTO);
427
466
  }
467
+ async expandResponseItem(responseItem) {
468
+ if (responseItem.result === "Accepted") {
469
+ const name = `i18n://dvo.responseItem.${responseItem["@type"]}.acceptedName`;
470
+ switch (responseItem["@type"]) {
471
+ case "ReadAttributeAcceptResponseItem":
472
+ const readAttributeResponseItem = responseItem;
473
+ const localAttributeResultForRead = await this.consumption.attributes.getAttribute({ id: readAttributeResponseItem.attributeId });
474
+ const localAttributeDVOForRead = await this.expandLocalAttributeDTO(localAttributeResultForRead.value);
475
+ return {
476
+ ...readAttributeResponseItem,
477
+ type: "ReadAttributeAcceptResponseItemDVO",
478
+ id: readAttributeResponseItem.attributeId,
479
+ name: name,
480
+ attribute: localAttributeDVOForRead
481
+ };
482
+ case "CreateAttributeAcceptResponseItem":
483
+ const createAttributeResponseItem = responseItem;
484
+ const localAttributeResultForCreate = await this.consumption.attributes.getAttribute({ id: createAttributeResponseItem.attributeId });
485
+ const localAttributeDVOForCreate = await this.expandLocalAttributeDTO(localAttributeResultForCreate.value);
486
+ return {
487
+ ...createAttributeResponseItem,
488
+ type: "CreateAttributeAcceptResponseItemDVO",
489
+ id: createAttributeResponseItem.attributeId,
490
+ name: name,
491
+ attribute: localAttributeDVOForCreate
492
+ };
493
+ case "ProposeAttributeAcceptResponseItem":
494
+ const proposeAttributeResponseItem = responseItem;
495
+ const localAttributeResultForPropose = await this.consumption.attributes.getAttribute({ id: proposeAttributeResponseItem.attributeId });
496
+ const localAttributeDVOForPropose = await this.expandLocalAttributeDTO(localAttributeResultForPropose.value);
497
+ return {
498
+ ...proposeAttributeResponseItem,
499
+ type: "ProposeAttributeAcceptResponseItemDVO",
500
+ id: proposeAttributeResponseItem.attributeId,
501
+ name: name,
502
+ attribute: localAttributeDVOForPropose
503
+ };
504
+ default:
505
+ return {
506
+ ...responseItem,
507
+ type: "AcceptResponseItemDVO",
508
+ id: "",
509
+ name: name
510
+ };
511
+ }
512
+ }
513
+ else if (responseItem.result === "Rejected") {
514
+ const rejectResponseItem = responseItem;
515
+ return {
516
+ ...rejectResponseItem,
517
+ type: "RejectResponseItemDVO",
518
+ id: "",
519
+ name: "i18n://dvo.responseItem.rejected"
520
+ };
521
+ }
522
+ else {
523
+ const errorResponseItem = responseItem;
524
+ return {
525
+ ...errorResponseItem,
526
+ type: "ErrorResponseItemDVO",
527
+ id: "",
528
+ name: "i18n://dvo.responseItem.error"
529
+ };
530
+ }
531
+ }
532
+ async expandResponseGroupOrItem(responseGroupOrItem) {
533
+ if (responseGroupOrItem["@type"] === "ResponseItemGroup") {
534
+ const group = responseGroupOrItem;
535
+ const itemDVOs = [];
536
+ for (const requestItem of group.items) {
537
+ itemDVOs.push(await this.expandResponseItem(requestItem));
538
+ }
539
+ return {
540
+ type: "ResponseItemGroupDVO",
541
+ items: itemDVOs
542
+ };
543
+ }
544
+ return await this.expandResponseItem(responseGroupOrItem);
545
+ }
428
546
  async expandLocalRequestDTO(request) {
429
547
  const requestDVO = await this.expandRequest(request.content, request);
430
548
  const peerDVO = await this.expandAddress(request.peer);
@@ -432,29 +550,53 @@ let DataViewExpander = class DataViewExpander {
432
550
  if (!request.isOwn && (request.status === "DecisionRequired" || request.status === "ManualDecisionRequired")) {
433
551
  isDecidable = true;
434
552
  }
553
+ const directionLabel = request.isOwn ? "outgoing" : "incoming";
554
+ const statusText = `i18n://dvo.localRequest.status.${request.status}`;
555
+ const response = request.response ? await this.expandLocalResponseDTO(request.response, request) : undefined;
556
+ const requestIdOutOfResponse = request.response ? request.response.content.requestId : "";
435
557
  return {
436
558
  ...request,
437
- id: request.id,
559
+ id: request.id ? request.id : requestIdOutOfResponse,
438
560
  content: requestDVO,
439
561
  items: requestDVO.items,
440
- name: "i18n://dvo.localRequest.name",
562
+ name: `i18n://dvo.localRequest.${directionLabel}.name`,
563
+ description: statusText,
441
564
  type: "LocalRequestDVO",
442
565
  date: request.createdAt,
443
566
  createdBy: request.isOwn ? this.expandSelf() : peerDVO,
444
567
  decider: request.isOwn ? peerDVO : this.expandSelf(),
445
568
  peer: peerDVO,
446
- response: request.response ? this.expandLocalResponseDTO(request.response) : undefined,
447
- statusText: `i18n://dvo.localRequest.status.${request.status}`,
569
+ response,
570
+ statusText: statusText,
448
571
  isDecidable
449
572
  };
450
573
  }
451
- expandLocalResponseDTO(response) {
574
+ async expandLocalRequestDTOs(localRequests) {
575
+ const localRequestPromises = localRequests.map((localRequest) => this.expandLocalRequestDTO(localRequest));
576
+ return await Promise.all(localRequestPromises);
577
+ }
578
+ async expandResponse(response, request) {
579
+ const itemDVOs = [];
580
+ for (const responseItem of response.items) {
581
+ itemDVOs.push(await this.expandResponseGroupOrItem(responseItem));
582
+ }
452
583
  return {
584
+ id: request.id,
585
+ name: "i18n://dvo.response.name",
586
+ type: "ResponseDVO",
453
587
  ...response,
454
- id: "",
588
+ items: itemDVOs
589
+ };
590
+ }
591
+ async expandLocalResponseDTO(response, request) {
592
+ const responseDVO = await this.expandResponse(response.content, request);
593
+ return {
594
+ ...response,
595
+ id: request.id,
455
596
  name: "i18n://dvo.localResponse.name",
456
597
  type: "LocalResponseDVO",
457
- date: response.createdAt
598
+ date: response.createdAt,
599
+ content: responseDVO
458
600
  };
459
601
  }
460
602
  async expandLocalAttributeDTO(attribute) {
@@ -466,14 +608,69 @@ let DataViewExpander = class DataViewExpander {
466
608
  const owner = attribute.content.owner;
467
609
  let name = `i18n://dvo.attribute.name.${valueType}`;
468
610
  let description = `i18n://dvo.attribute.description.${valueType}`;
469
- if (localAttribute.content instanceof content_1.RelationshipAttribute) {
470
- name = "";
471
- description = "";
472
- }
473
611
  const renderHints = localAttribute.content.value.renderHints.toJSON();
474
612
  const valueHints = localAttribute.content.value.valueHints.toJSON();
475
613
  if (localAttribute.shareInfo) {
476
614
  const peer = localAttribute.shareInfo.peer.toString();
615
+ if (localAttribute.content instanceof content_1.RelationshipAttribute) {
616
+ const relationshipAttribute = localAttribute.content;
617
+ const value = relationshipAttribute.value;
618
+ if (value.title) {
619
+ name = value.title;
620
+ }
621
+ if (value.description) {
622
+ description = value.description;
623
+ }
624
+ // Peer Relationship Attribute
625
+ if (relationshipAttribute.owner === localAttribute.shareInfo.peer) {
626
+ return {
627
+ type: "PeerRelationshipAttributeDVO",
628
+ id: attribute.id,
629
+ name,
630
+ key: relationshipAttribute.key,
631
+ confidentiality: relationshipAttribute.confidentiality,
632
+ description,
633
+ content: attribute.content,
634
+ value: attribute.content.value,
635
+ date: attribute.createdAt,
636
+ owner,
637
+ renderHints,
638
+ valueHints,
639
+ isValid: true,
640
+ createdAt: attribute.createdAt,
641
+ isOwn: false,
642
+ peer: peer,
643
+ isDraft: false,
644
+ requestReference: localAttribute.shareInfo.requestReference.toString(),
645
+ valueType,
646
+ isTechnical: relationshipAttribute.isTechnical
647
+ };
648
+ }
649
+ // Own Relationship Attribute
650
+ return {
651
+ type: "OwnRelationshipAttributeDVO",
652
+ id: attribute.id,
653
+ name,
654
+ key: relationshipAttribute.key,
655
+ confidentiality: relationshipAttribute.confidentiality,
656
+ description,
657
+ content: attribute.content,
658
+ value: attribute.content.value,
659
+ date: attribute.createdAt,
660
+ owner,
661
+ renderHints,
662
+ valueHints,
663
+ isValid: true,
664
+ createdAt: attribute.createdAt,
665
+ isOwn: true,
666
+ peer: peer,
667
+ isDraft: false,
668
+ requestReference: localAttribute.shareInfo.requestReference.toString(),
669
+ valueType,
670
+ isTechnical: relationshipAttribute.isTechnical
671
+ };
672
+ }
673
+ const identityAttribute = localAttribute.content;
477
674
  if (localAttribute.shareInfo.sourceAttribute) {
478
675
  // Own Shared Attribute
479
676
  return {
@@ -494,7 +691,8 @@ let DataViewExpander = class DataViewExpander {
494
691
  isDraft: false,
495
692
  requestReference: localAttribute.shareInfo.requestReference.toString(),
496
693
  sourceAttribute: localAttribute.shareInfo.sourceAttribute.toString(),
497
- tags: []
694
+ tags: identityAttribute.tags ? identityAttribute.tags : [],
695
+ valueType
498
696
  };
499
697
  }
500
698
  // Peer Attribute
@@ -515,9 +713,11 @@ let DataViewExpander = class DataViewExpander {
515
713
  peer: peer,
516
714
  isDraft: false,
517
715
  requestReference: localAttribute.shareInfo.requestReference.toString(),
518
- tags: []
716
+ tags: identityAttribute.tags ? identityAttribute.tags : [],
717
+ valueType
519
718
  };
520
719
  }
720
+ const identityAttribute = localAttribute.content;
521
721
  const sharedToPeerAttributes = await this.consumption.attributes.getAttributes({ query: { "shareInfo.sourceAttribute": attribute.id } });
522
722
  const sharedToPeerDVOs = await this.expandLocalAttributeDTOs(sharedToPeerAttributes.value);
523
723
  // Own Source Attribute
@@ -537,57 +737,91 @@ let DataViewExpander = class DataViewExpander {
537
737
  isOwn: true,
538
738
  isDraft: false,
539
739
  sharedWith: sharedToPeerDVOs,
540
- tags: []
740
+ tags: identityAttribute.tags ? identityAttribute.tags : [],
741
+ valueType
541
742
  };
542
743
  }
543
744
  async expandLocalAttributeDTOs(attributes) {
544
745
  const attributesPromise = attributes.map((attribute) => this.expandLocalAttributeDTO(attribute));
545
746
  return await Promise.all(attributesPromise);
546
747
  }
748
+ async expandAttributeQuery(query) {
749
+ switch (query["@type"]) {
750
+ case "IdentityAttributeQuery":
751
+ return this.expandIdentityAttributeQuery(query);
752
+ case "RelationshipAttributeQuery":
753
+ return await this.expandRelationshipAttributeQuery(query);
754
+ case "ThirdPartyRelationshipAttributeQuery":
755
+ return await this.expandThirdPartyRelationshipAttributeQuery(query);
756
+ default:
757
+ throw new Error("Wrong attribute query");
758
+ }
759
+ }
547
760
  expandIdentityAttributeQuery(query) {
548
761
  const valueType = query.valueType;
549
762
  const name = `i18n://dvo.attribute.name.${valueType}`;
550
763
  const description = `i18n://dvo.attribute.description.${valueType}`;
551
- const valueTypeClass = ts_serval_1.SerializableBase.getModule(valueType, 1);
552
- if (!valueTypeClass) {
553
- throw new Error(`No class implementation found for ${valueType}`);
554
- }
555
- let renderHints = {
556
- "@type": "RenderHints",
557
- editType: content_1.RenderHintsEditType.InputLike,
558
- technicalType: content_1.RenderHintsTechnicalType.String
559
- };
560
- let valueHints = {
561
- "@type": "ValueHints",
562
- max: 200
764
+ const hints = this.getHintsForValueType(valueType);
765
+ return {
766
+ type: "IdentityAttributeQueryDVO",
767
+ id: "",
768
+ name,
769
+ description,
770
+ valueType,
771
+ validFrom: query.validFrom,
772
+ validTo: query.validTo,
773
+ renderHints: hints.renderHints,
774
+ valueHints: hints.valueHints,
775
+ isProcessed: false
563
776
  };
564
- if (valueTypeClass.renderHints && valueTypeClass.renderHints instanceof content_1.RenderHints) {
565
- renderHints = valueTypeClass.renderHints.toJSON();
777
+ }
778
+ async expandRelationshipAttributeQuery(query) {
779
+ const valueType = query.attributeCreationHints.valueType;
780
+ let name = "i18n://dvo.attributeQuery.name.ThirdPartyRelationshipAttributeQuery";
781
+ let description = "i18n://dvo.attributeQuery.name.ThirdPartyRelationshipAttributeQuery";
782
+ if (query.attributeCreationHints.title) {
783
+ name = query.attributeCreationHints.title;
566
784
  }
567
- if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
568
- valueHints = valueTypeClass.valueHints.toJSON();
785
+ if (query.attributeCreationHints.description) {
786
+ description = query.attributeCreationHints.description;
787
+ }
788
+ const hints = this.getHintsForValueType(valueType);
789
+ if (query.attributeCreationHints.valueHints) {
790
+ hints.valueHints = query.attributeCreationHints.valueHints;
569
791
  }
570
792
  return {
571
- type: "IdentityAttributeQueryDVO",
793
+ type: "RelationshipAttributeQueryDVO",
572
794
  id: "",
573
795
  name,
574
796
  description,
575
- valueType,
576
797
  validFrom: query.validFrom,
577
798
  validTo: query.validTo,
578
- renderHints,
579
- valueHints,
799
+ owner: await this.expandAddress(query.owner),
800
+ key: query.key,
801
+ attributeCreationHints: query.attributeCreationHints,
802
+ renderHints: hints.renderHints,
803
+ valueHints: hints.valueHints,
804
+ isProcessed: false,
805
+ valueType
806
+ };
807
+ }
808
+ async expandThirdPartyRelationshipAttributeQuery(query) {
809
+ const name = "i18n://dvo.attributeQuery.name.ThirdPartyRelationshipAttributeQuery";
810
+ const description = "i18n://dvo.attributeQuery.name.ThirdPartyRelationshipAttributeQuery";
811
+ return {
812
+ type: "ThirdPartyRelationshipAttributeQueryDVO",
813
+ id: "",
814
+ name,
815
+ description,
816
+ validFrom: query.validFrom,
817
+ validTo: query.validTo,
818
+ owner: await this.expandAddress(query.owner),
819
+ thirdParty: await this.expandAddress(query.thirdParty),
820
+ key: query.key,
580
821
  isProcessed: false
581
822
  };
582
823
  }
583
- async processIdentityAttributeQuery(query) {
584
- const matchedAttributeDTOs = await this.consumption.attributes.executeIdentityAttributeQuery({
585
- query
586
- });
587
- const matchedAttributeDVOs = await this.expandLocalAttributeDTOs(matchedAttributeDTOs.value);
588
- const valueType = query.valueType;
589
- const name = `i18n://dvo.attribute.name.${valueType}`;
590
- const description = `i18n://dvo.attribute.description.${valueType}`;
824
+ getHintsForValueType(valueType) {
591
825
  const valueTypeClass = ts_serval_1.SerializableBase.getModule(valueType, 1);
592
826
  if (!valueTypeClass) {
593
827
  throw new Error(`No class implementation found for ${valueType}`);
@@ -607,46 +841,147 @@ let DataViewExpander = class DataViewExpander {
607
841
  if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
608
842
  valueHints = valueTypeClass.valueHints.toJSON();
609
843
  }
844
+ return { renderHints, valueHints };
845
+ }
846
+ async processAttributeQuery(attributeQuery) {
847
+ switch (attributeQuery["@type"]) {
848
+ case "IdentityAttributeQuery":
849
+ return await this.processIdentityAttributeQuery(attributeQuery);
850
+ case "RelationshipAttributeQuery":
851
+ return await this.processRelationshipAttributeQuery(attributeQuery);
852
+ case "ThirdPartyRelationshipAttributeQuery":
853
+ return await this.processThirdPartyRelationshipAttributeQuery(attributeQuery);
854
+ default:
855
+ throw new Error("Wrong attribute query");
856
+ }
857
+ }
858
+ async processIdentityAttributeQuery(query) {
859
+ const matchedAttributeDTOs = await this.consumption.attributes.executeIdentityAttributeQuery({
860
+ query
861
+ });
862
+ const matchedAttributeDVOs = await this.expandLocalAttributeDTOs(matchedAttributeDTOs.value);
610
863
  return {
864
+ ...this.expandIdentityAttributeQuery(query),
611
865
  type: "ProcessedIdentityAttributeQueryDVO",
612
- id: "",
866
+ results: matchedAttributeDVOs,
867
+ isProcessed: true
868
+ };
869
+ }
870
+ async processRelationshipAttributeQuery(query) {
871
+ const matchedAttributeDTOResult = await this.consumption.attributes.executeRelationshipAttributeQuery({
872
+ query
873
+ });
874
+ if (matchedAttributeDTOResult.isError) {
875
+ if (matchedAttributeDTOResult.error.code !== "error.runtime.recordNotFound") {
876
+ throw matchedAttributeDTOResult.error;
877
+ }
878
+ return {
879
+ ...(await this.expandRelationshipAttributeQuery(query)),
880
+ type: "ProcessedRelationshipAttributeQueryDVO",
881
+ results: [],
882
+ isProcessed: true
883
+ };
884
+ }
885
+ const matchedAttributeDVOs = await this.expandLocalAttributeDTO(matchedAttributeDTOResult.value);
886
+ return {
887
+ ...(await this.expandRelationshipAttributeQuery(query)),
888
+ type: "ProcessedRelationshipAttributeQueryDVO",
889
+ results: [matchedAttributeDVOs],
890
+ isProcessed: true
891
+ };
892
+ }
893
+ async processThirdPartyRelationshipAttributeQuery(query) {
894
+ const matchedAttributeDTOResult = await this.consumption.attributes.executeThirdPartyRelationshipAttributeQuery({
895
+ query
896
+ });
897
+ if (matchedAttributeDTOResult.isError) {
898
+ if (matchedAttributeDTOResult.error.code !== "error.runtime.recordNotFound") {
899
+ throw matchedAttributeDTOResult.error;
900
+ }
901
+ return {
902
+ ...(await this.expandThirdPartyRelationshipAttributeQuery(query)),
903
+ type: "ProcessedThirdPartyRelationshipAttributeQueryDVO",
904
+ results: [],
905
+ isProcessed: true
906
+ };
907
+ }
908
+ const matchedAttributeDVO = await this.expandLocalAttributeDTO(matchedAttributeDTOResult.value);
909
+ const correctlyTypedAttribute = matchedAttributeDVO;
910
+ return {
911
+ ...(await this.expandThirdPartyRelationshipAttributeQuery(query)),
912
+ type: "ProcessedThirdPartyRelationshipAttributeQueryDVO",
913
+ results: [correctlyTypedAttribute],
914
+ renderHints: correctlyTypedAttribute.renderHints,
915
+ valueHints: correctlyTypedAttribute.valueHints,
916
+ valueType: correctlyTypedAttribute.valueType,
917
+ isProcessed: true
918
+ };
919
+ }
920
+ async expandIdentityAttribute(attribute, attributeInstance) {
921
+ const valueType = attribute.value["@type"];
922
+ const name = `i18n://dvo.attribute.name.${valueType}`;
923
+ const description = `i18n://dvo.attribute.description.${valueType}`;
924
+ const renderHints = attributeInstance.value.renderHints.toJSON();
925
+ const valueHints = attributeInstance.value.valueHints.toJSON();
926
+ const owner = await this.expandAddress(attribute.owner);
927
+ return {
928
+ type: "DraftIdentityAttributeDVO",
929
+ content: attribute,
613
930
  name,
614
931
  description,
615
- valueType,
616
- validFrom: query.validFrom,
617
- validTo: query.validTo,
618
- results: matchedAttributeDVOs,
932
+ id: "",
933
+ owner: owner,
619
934
  renderHints,
620
935
  valueHints,
621
- isProcessed: true
936
+ value: attribute.value,
937
+ isDraft: true,
938
+ isOwn: owner.isSelf,
939
+ valueType,
940
+ tags: attributeInstance.tags ? attributeInstance.tags : []
622
941
  };
623
942
  }
624
- async expandAttribute(attribute) {
625
- const attributeInstance = ts_serval_1.Serializable.fromAny(attribute);
943
+ async expandRelationshipAttribute(attribute, attributeInstance) {
626
944
  const valueType = attribute.value["@type"];
627
945
  let name = `i18n://dvo.attribute.name.${valueType}`;
628
946
  let description = `i18n://dvo.attribute.description.${valueType}`;
629
947
  const renderHints = attributeInstance.value.renderHints.toJSON();
630
948
  const valueHints = attributeInstance.value.valueHints.toJSON();
631
- if (attributeInstance instanceof content_1.RelationshipAttribute) {
632
- name = ""; // attributeInstance.value.title;
633
- description = ""; // attributeInstance.value.description;
949
+ const value = attributeInstance.value;
950
+ if (value.title) {
951
+ name = value.title;
952
+ }
953
+ if (value.description) {
954
+ description = value.description;
634
955
  }
635
956
  const owner = await this.expandAddress(attribute.owner);
636
957
  return {
637
- type: "DraftAttributeDVO",
958
+ type: "DraftRelationshipAttributeDVO",
638
959
  content: attribute,
639
960
  name,
640
961
  description,
962
+ key: attribute.key,
963
+ confidentiality: attribute.confidentiality,
964
+ isTechnical: !!attribute.isTechnical,
641
965
  id: "",
642
966
  owner: owner,
643
967
  renderHints,
644
968
  valueHints,
645
969
  value: attribute.value,
646
970
  isDraft: true,
647
- isOwn: owner.isSelf
971
+ isOwn: owner.isSelf,
972
+ valueType
648
973
  };
649
974
  }
975
+ async expandAttribute(attribute) {
976
+ const attributeInstance = ts_serval_1.Serializable.fromUnknown(attribute);
977
+ if (attributeInstance instanceof content_1.IdentityAttribute) {
978
+ return await this.expandIdentityAttribute(attribute, attributeInstance);
979
+ }
980
+ else if (attributeInstance instanceof content_1.RelationshipAttribute) {
981
+ return await this.expandRelationshipAttribute(attribute, attributeInstance);
982
+ }
983
+ throw new Error("Wrong attribute instance");
984
+ }
650
985
  async expandAttributes(attributes) {
651
986
  const attributesPromise = attributes.map((attribute) => this.expandAttribute(attribute));
652
987
  return await Promise.all(attributesPromise);
@@ -683,7 +1018,7 @@ let DataViewExpander = class DataViewExpander {
683
1018
  if (this.identityController.isMe(transport_1.CoreAddress.from(address))) {
684
1019
  return this.expandSelf();
685
1020
  }
686
- const result = await this.transport.relationships.getRelationshipByAddress({ address: address });
1021
+ const result = await this.transport.relationships.getRelationshipByAddress({ address });
687
1022
  if (result.isError) {
688
1023
  return this.expandUnknown(address);
689
1024
  }
@@ -755,7 +1090,6 @@ let DataViewExpander = class DataViewExpander {
755
1090
  isPinned: false
756
1091
  };
757
1092
  }
758
- const nameRelevantAttributeTypes = ["DisplayName", "GivenName", "MiddleName", "Surname", "Sex"];
759
1093
  const stringByType = {};
760
1094
  const relationshipAttributesResult = await this.consumption.attributes.getPeerAttributes({ onlyValid: true, peer: relationship.peer });
761
1095
  const expandedAttributes = await this.expandLocalAttributeDTOs(relationshipAttributesResult.value);
@@ -769,12 +1103,14 @@ let DataViewExpander = class DataViewExpander {
769
1103
  else {
770
1104
  attributesByType[valueType] = [attribute];
771
1105
  }
1106
+ const nameRelevantAttributeTypes = ["DisplayName", "GivenName", "MiddleName", "Surname", "Sex"];
772
1107
  if (nameRelevantAttributeTypes.includes(valueType)) {
773
- if (stringByType[valueType]) {
774
- stringByType[valueType] += ` ${attribute.content.value.value}`;
1108
+ const attributeValue = attribute.content.value;
1109
+ if (stringByType[valueType] && valueType === "GivenName") {
1110
+ stringByType[valueType] += ` ${attributeValue.value}`;
775
1111
  }
776
1112
  else {
777
- stringByType[valueType] = `${attribute.content.value.value}`;
1113
+ stringByType[valueType] = attributeValue.value;
778
1114
  }
779
1115
  }
780
1116
  }
@@ -803,12 +1139,18 @@ let DataViewExpander = class DataViewExpander {
803
1139
  if (stringByType["DisplayName"]) {
804
1140
  name = stringByType["DisplayName"];
805
1141
  }
1142
+ else if (stringByType["MiddleName"] && stringByType["GivenName"] && stringByType["Surname"]) {
1143
+ name = `${stringByType["GivenName"]} ${stringByType["MiddleName"]} ${stringByType["Surname"]}`;
1144
+ }
806
1145
  else if (stringByType["GivenName"] && stringByType["Surname"]) {
807
1146
  name = `${stringByType["GivenName"]} ${stringByType["Surname"]}`;
808
1147
  }
809
1148
  else if (stringByType["Sex"] && stringByType["Surname"]) {
810
1149
  name = `i18n://dvo.identity.Salutation.${stringByType["Sex"]} ${stringByType["Surname"]}`;
811
1150
  }
1151
+ else if (stringByType["Surname"]) {
1152
+ name = `${stringByType["Surname"]}`;
1153
+ }
812
1154
  else {
813
1155
  name = relationship.peer.substring(3, 9);
814
1156
  }
@@ -827,7 +1169,8 @@ let DataViewExpander = class DataViewExpander {
827
1169
  items: expandedAttributes,
828
1170
  nameMap: stringByType,
829
1171
  changes: changes,
830
- changeCount: changes.length
1172
+ changeCount: changes.length,
1173
+ templateId: relationship.template.id
831
1174
  };
832
1175
  }
833
1176
  async expandRelationshipDTO(relationship) {
@@ -883,7 +1226,7 @@ let DataViewExpander = class DataViewExpander {
883
1226
  return await Promise.all(relationshipPromises);
884
1227
  }
885
1228
  async expandFileId(id) {
886
- const result = await this.transport.files.getFile({ id: id });
1229
+ const result = await this.transport.files.getFile({ id });
887
1230
  if (result.isError) {
888
1231
  throw result.error;
889
1232
  }