@nmshd/runtime 2.0.0-alpha.9 → 2.0.0-beta.11

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 (398) hide show
  1. package/README.md +2 -2
  2. package/dist/Runtime.d.ts +6 -5
  3. package/dist/Runtime.js +20 -9
  4. package/dist/Runtime.js.map +1 -1
  5. package/dist/buildInformation.js +5 -5
  6. package/dist/dataViews/DataViewExpander.d.ts +33 -32
  7. package/dist/dataViews/DataViewExpander.js +538 -261
  8. package/dist/dataViews/DataViewExpander.js.map +1 -1
  9. package/dist/dataViews/DataViewObject.d.ts +1 -1
  10. package/dist/dataViews/consumption/DecidableRequestItemDVOs.d.ts +30 -0
  11. package/dist/dataViews/consumption/DecidableRequestItemDVOs.js +3 -0
  12. package/dist/dataViews/consumption/DecidableRequestItemDVOs.js.map +1 -0
  13. package/dist/dataViews/consumption/LocalAttributeDVO.d.ts +81 -0
  14. package/dist/dataViews/consumption/{StoredAttributeDVO.js → LocalAttributeDVO.js} +1 -1
  15. package/dist/dataViews/consumption/LocalAttributeDVO.js.map +1 -0
  16. package/dist/dataViews/consumption/LocalRequestDVO.d.ts +32 -0
  17. package/dist/dataViews/{content/AttributeDVO.js → consumption/LocalRequestDVO.js} +1 -1
  18. package/dist/dataViews/consumption/LocalRequestDVO.js.map +1 -0
  19. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.d.ts +18 -0
  20. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.js +3 -0
  21. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.js.map +1 -0
  22. package/dist/dataViews/consumption/RelationshipSettingDVO.d.ts +5 -0
  23. package/dist/dataViews/consumption/{MatchedAttributesDVO.js → RelationshipSettingDVO.js} +1 -1
  24. package/dist/dataViews/consumption/RelationshipSettingDVO.js.map +1 -0
  25. package/dist/dataViews/consumption/index.d.ts +5 -1
  26. package/dist/dataViews/consumption/index.js +5 -1
  27. package/dist/dataViews/consumption/index.js.map +1 -1
  28. package/dist/dataViews/content/AttributeDVOs.d.ts +37 -0
  29. package/dist/{types/consumption/SharedItemDTO.js → dataViews/content/AttributeDVOs.js} +1 -1
  30. package/dist/dataViews/content/AttributeDVOs.js.map +1 -0
  31. package/dist/dataViews/content/MailDVOs.d.ts +4 -5
  32. package/dist/dataViews/content/RequestDVO.d.ts +7 -0
  33. package/dist/dataViews/content/{RequestDVOs.js → RequestDVO.js} +1 -1
  34. package/dist/dataViews/content/RequestDVO.js.map +1 -0
  35. package/dist/dataViews/content/RequestItemDVOs.d.ts +36 -0
  36. package/dist/dataViews/content/RequestItemDVOs.js +3 -0
  37. package/dist/dataViews/content/RequestItemDVOs.js.map +1 -0
  38. package/dist/dataViews/content/index.d.ts +3 -2
  39. package/dist/dataViews/content/index.js +3 -2
  40. package/dist/dataViews/content/index.js.map +1 -1
  41. package/dist/dataViews/transport/FileDVO.d.ts +0 -3
  42. package/dist/dataViews/transport/MessageDVO.d.ts +4 -0
  43. package/dist/dataViews/transport/RelationshipDVO.d.ts +7 -3
  44. package/dist/dataViews/transport/RelationshipDVO.js.map +1 -1
  45. package/dist/dataViews/transport/RelationshipTemplateDVO.d.ts +9 -2
  46. package/dist/events/DataEvent.d.ts +1 -1
  47. package/dist/events/DataEvent.js +2 -2
  48. package/dist/events/DataEvent.js.map +1 -1
  49. package/dist/events/EventProxy.d.ts +12 -0
  50. package/dist/events/EventProxy.js +112 -0
  51. package/dist/events/EventProxy.js.map +1 -0
  52. package/dist/events/consumption/AttributeCreatedEvent.d.ts +6 -0
  53. package/dist/events/consumption/AttributeCreatedEvent.js +12 -0
  54. package/dist/events/consumption/AttributeCreatedEvent.js.map +1 -0
  55. package/dist/events/consumption/AttributeDeletedEvent.d.ts +6 -0
  56. package/dist/events/consumption/AttributeDeletedEvent.js +12 -0
  57. package/dist/events/consumption/AttributeDeletedEvent.js.map +1 -0
  58. package/dist/events/consumption/AttributeSucceededEvent.d.ts +6 -0
  59. package/dist/events/consumption/AttributeSucceededEvent.js +12 -0
  60. package/dist/events/consumption/AttributeSucceededEvent.js.map +1 -0
  61. package/dist/events/consumption/AttributeUpdatedEvent.d.ts +6 -0
  62. package/dist/events/consumption/AttributeUpdatedEvent.js +12 -0
  63. package/dist/events/consumption/AttributeUpdatedEvent.js.map +1 -0
  64. package/dist/events/consumption/IncomingRequestReceivedEvent.d.ts +3 -3
  65. package/dist/events/consumption/IncomingRequestReceivedEvent.js.map +1 -1
  66. package/dist/events/consumption/IncomingRequestStatusChangedEvent.d.ts +5 -5
  67. package/dist/events/consumption/OutgoingRequestCreatedEvent.d.ts +4 -4
  68. package/dist/events/consumption/OutgoingRequestCreatedEvent.js +1 -1
  69. package/dist/events/consumption/OutgoingRequestCreatedEvent.js.map +1 -1
  70. package/dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.d.ts +3 -3
  71. package/dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js.map +1 -1
  72. package/dist/events/consumption/OutgoingRequestStatusChangedEvent.d.ts +5 -5
  73. package/dist/events/consumption/RelationshipEvent.d.ts +1 -1
  74. package/dist/events/consumption/RelationshipEvent.js.map +1 -1
  75. package/dist/events/consumption/SharedAttributeCopyCreatedEvent.d.ts +6 -0
  76. package/dist/events/consumption/SharedAttributeCopyCreatedEvent.js +12 -0
  77. package/dist/events/consumption/SharedAttributeCopyCreatedEvent.js.map +1 -0
  78. package/dist/events/consumption/index.d.ts +12 -0
  79. package/dist/events/consumption/index.js +29 -0
  80. package/dist/events/consumption/index.js.map +1 -0
  81. package/dist/events/index.d.ts +3 -17
  82. package/dist/events/index.js +3 -17
  83. package/dist/events/index.js.map +1 -1
  84. package/dist/events/runtime/ModulesInitializedEvent.d.ts +1 -1
  85. package/dist/events/runtime/ModulesInitializedEvent.js +2 -2
  86. package/dist/events/runtime/ModulesInitializedEvent.js.map +1 -1
  87. package/dist/events/runtime/ModulesLoadedEvent.d.ts +1 -1
  88. package/dist/events/runtime/ModulesLoadedEvent.js +2 -2
  89. package/dist/events/runtime/ModulesLoadedEvent.js.map +1 -1
  90. package/dist/events/runtime/ModulesStartedEvent.d.ts +1 -1
  91. package/dist/events/runtime/ModulesStartedEvent.js +2 -2
  92. package/dist/events/runtime/ModulesStartedEvent.js.map +1 -1
  93. package/dist/events/runtime/RuntimeInitializedEvent.d.ts +1 -1
  94. package/dist/events/runtime/RuntimeInitializedEvent.js +2 -2
  95. package/dist/events/runtime/RuntimeInitializedEvent.js.map +1 -1
  96. package/dist/events/runtime/RuntimeInitializingEvent.d.ts +1 -1
  97. package/dist/events/runtime/RuntimeInitializingEvent.js +2 -2
  98. package/dist/events/runtime/RuntimeInitializingEvent.js.map +1 -1
  99. package/dist/events/runtime/index.d.ts +5 -0
  100. package/dist/events/runtime/index.js +22 -0
  101. package/dist/events/runtime/index.js.map +1 -0
  102. package/dist/events/transport/MessageDeliveredEvent.js +1 -0
  103. package/dist/events/transport/MessageDeliveredEvent.js.map +1 -1
  104. package/dist/events/transport/index.d.ts +5 -0
  105. package/dist/events/transport/index.js +22 -0
  106. package/dist/events/transport/index.js.map +1 -0
  107. package/dist/extensibility/facades/consumption/AttributesFacade.d.ts +18 -18
  108. package/dist/extensibility/facades/consumption/AttributesFacade.js +23 -23
  109. package/dist/extensibility/facades/consumption/AttributesFacade.js.map +1 -1
  110. package/dist/extensibility/facades/consumption/IncomingRequestsFacade.d.ts +9 -9
  111. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.d.ts +7 -7
  112. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js.map +1 -1
  113. package/dist/extensibility/facades/transport/FilesFacade.d.ts +4 -2
  114. package/dist/extensibility/facades/transport/FilesFacade.js +7 -1
  115. package/dist/extensibility/facades/transport/FilesFacade.js.map +1 -1
  116. package/dist/extensibility/facades/transport/MessagesFacade.d.ts +5 -5
  117. package/dist/extensibility/facades/transport/MessagesFacade.js.map +1 -1
  118. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.d.ts +5 -3
  119. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.js +9 -3
  120. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.js.map +1 -1
  121. package/dist/extensibility/facades/transport/RelationshipsFacade.d.ts +4 -2
  122. package/dist/extensibility/facades/transport/RelationshipsFacade.js +8 -2
  123. package/dist/extensibility/facades/transport/RelationshipsFacade.js.map +1 -1
  124. package/dist/extensibility/modules/RuntimeModule.d.ts +1 -1
  125. package/dist/extensibility/modules/RuntimeModule.js +4 -6
  126. package/dist/extensibility/modules/RuntimeModule.js.map +1 -1
  127. package/dist/modules/DeciderModule.d.ts +3 -3
  128. package/dist/modules/DeciderModule.js +2 -2
  129. package/dist/modules/DeciderModule.js.map +1 -1
  130. package/dist/modules/MessageModule.js +3 -12
  131. package/dist/modules/MessageModule.js.map +1 -1
  132. package/dist/modules/RequestModule.d.ts +6 -4
  133. package/dist/modules/RequestModule.js +118 -36
  134. package/dist/modules/RequestModule.js.map +1 -1
  135. package/dist/types/consumption/LocalAttributeDTO.d.ts +10 -0
  136. package/dist/types/consumption/LocalAttributeDTO.js +3 -0
  137. package/dist/types/consumption/LocalAttributeDTO.js.map +1 -0
  138. package/dist/types/consumption/LocalRequestDTO.d.ts +25 -0
  139. package/dist/types/consumption/LocalRequestDTO.js +3 -0
  140. package/dist/types/consumption/LocalRequestDTO.js.map +1 -0
  141. package/dist/types/consumption/SettingDTO.d.ts +0 -1
  142. package/dist/types/consumption/index.d.ts +2 -6
  143. package/dist/types/consumption/index.js +2 -6
  144. package/dist/types/consumption/index.js.map +1 -1
  145. package/dist/types/transport/FileDTO.d.ts +1 -3
  146. package/dist/types/transport/MessageDTO.d.ts +0 -1
  147. package/dist/types/transport/MessageWithAttachmentsDTO.d.ts +0 -1
  148. package/dist/types/transport/RecipientDTO.d.ts +1 -0
  149. package/dist/types/transport/RelationshipDTO.d.ts +0 -2
  150. package/dist/types/transport/RelationshipTemplateDTO.d.ts +2 -0
  151. package/dist/useCases/common/Base64ForIdPrefix.d.ts +5 -0
  152. package/dist/useCases/common/Base64ForIdPrefix.js +13 -0
  153. package/dist/useCases/common/Base64ForIdPrefix.js.map +1 -0
  154. package/dist/useCases/common/QRCode.d.ts +4 -1
  155. package/dist/useCases/common/QRCode.js +5 -2
  156. package/dist/useCases/common/QRCode.js.map +1 -1
  157. package/dist/useCases/common/RuntimeErrors.d.ts +6 -0
  158. package/dist/useCases/common/RuntimeErrors.js +14 -1
  159. package/dist/useCases/common/RuntimeErrors.js.map +1 -1
  160. package/dist/useCases/common/Schemas.d.ts +10 -4
  161. package/dist/useCases/common/Schemas.js +4528 -915
  162. package/dist/useCases/common/Schemas.js.map +1 -1
  163. package/dist/useCases/common/index.d.ts +1 -0
  164. package/dist/useCases/common/index.js +1 -0
  165. package/dist/useCases/common/index.js.map +1 -1
  166. package/dist/useCases/consumption/attributes/AttributeMapper.d.ts +4 -6
  167. package/dist/useCases/consumption/attributes/AttributeMapper.js +4 -8
  168. package/dist/useCases/consumption/attributes/AttributeMapper.js.map +1 -1
  169. package/dist/useCases/consumption/attributes/CreateAttribute.d.ts +10 -10
  170. package/dist/useCases/consumption/attributes/CreateAttribute.js +14 -10
  171. package/dist/useCases/consumption/attributes/CreateAttribute.js.map +1 -1
  172. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.d.ts +29 -0
  173. package/dist/useCases/consumption/attributes/{DeleteAttributeByName.js → CreateSharedAttributeCopy.js} +24 -19
  174. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js.map +1 -0
  175. package/dist/useCases/consumption/attributes/DeleteAttribute.d.ts +8 -5
  176. package/dist/useCases/consumption/attributes/DeleteAttribute.js +12 -9
  177. package/dist/useCases/consumption/attributes/DeleteAttribute.js.map +1 -1
  178. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.d.ts +13 -0
  179. package/dist/useCases/consumption/attributes/{GetAllValid.js → ExecuteIdentityAttributeQuery.js} +10 -9
  180. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js.map +1 -0
  181. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.d.ts +13 -0
  182. package/dist/useCases/consumption/attributes/{GetAttributesByNames.js → ExecuteRelationshipAttributeQuery.js} +12 -17
  183. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js.map +1 -0
  184. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.d.ts +10 -0
  185. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.js +3 -0
  186. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.js.map +1 -0
  187. package/dist/useCases/consumption/attributes/GetAttribute.d.ts +11 -8
  188. package/dist/useCases/consumption/attributes/GetAttribute.js +10 -7
  189. package/dist/useCases/consumption/attributes/GetAttribute.js.map +1 -1
  190. package/dist/useCases/consumption/attributes/GetAttributes.d.ts +27 -9
  191. package/dist/useCases/consumption/attributes/GetAttributes.js +118 -13
  192. package/dist/useCases/consumption/attributes/GetAttributes.js.map +1 -1
  193. package/dist/useCases/consumption/attributes/GetPeerAttributes.d.ts +27 -0
  194. package/dist/useCases/consumption/attributes/{GetHistoryByName.js → GetPeerAttributes.js} +20 -19
  195. package/dist/useCases/consumption/attributes/GetPeerAttributes.js.map +1 -0
  196. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.d.ts +30 -0
  197. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js +52 -0
  198. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js.map +1 -0
  199. package/dist/useCases/consumption/attributes/SucceedAttribute.d.ts +14 -11
  200. package/dist/useCases/consumption/attributes/SucceedAttribute.js +15 -11
  201. package/dist/useCases/consumption/attributes/SucceedAttribute.js.map +1 -1
  202. package/dist/useCases/consumption/attributes/UpdateAttribute.d.ts +13 -10
  203. package/dist/useCases/consumption/attributes/UpdateAttribute.js +15 -16
  204. package/dist/useCases/consumption/attributes/UpdateAttribute.js.map +1 -1
  205. package/dist/useCases/consumption/attributes/index.d.ts +5 -5
  206. package/dist/useCases/consumption/attributes/index.js +5 -5
  207. package/dist/useCases/consumption/attributes/index.js.map +1 -1
  208. package/dist/useCases/consumption/drafts/GetDrafts.d.ts +6 -1
  209. package/dist/useCases/consumption/drafts/GetDrafts.js.map +1 -1
  210. package/dist/useCases/consumption/requests/AcceptIncomingRequest.d.ts +5 -6
  211. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js +7 -17
  212. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js.map +1 -1
  213. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js +2 -2
  214. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js.map +1 -1
  215. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.d.ts +6 -7
  216. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js +4 -15
  217. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js.map +1 -1
  218. package/dist/useCases/consumption/requests/CompleteIncomingRequest.d.ts +8 -8
  219. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js +16 -30
  220. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js.map +1 -1
  221. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.d.ts +5 -10
  222. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js +7 -17
  223. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js.map +1 -1
  224. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.d.ts +5 -6
  225. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js +5 -11
  226. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map +1 -1
  227. package/dist/useCases/consumption/requests/CreateOutgoingRequest.d.ts +5 -6
  228. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js +4 -9
  229. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js.map +1 -1
  230. package/dist/useCases/consumption/requests/GetIncomingRequest.d.ts +4 -4
  231. package/dist/useCases/consumption/requests/GetIncomingRequest.js +4 -4
  232. package/dist/useCases/consumption/requests/GetIncomingRequest.js.map +1 -1
  233. package/dist/useCases/consumption/requests/GetIncomingRequests.d.ts +19 -36
  234. package/dist/useCases/consumption/requests/GetIncomingRequests.js +2 -2
  235. package/dist/useCases/consumption/requests/GetIncomingRequests.js.map +1 -1
  236. package/dist/useCases/consumption/requests/GetOutgoingRequest.d.ts +4 -4
  237. package/dist/useCases/consumption/requests/GetOutgoingRequest.js +4 -4
  238. package/dist/useCases/consumption/requests/GetOutgoingRequest.js.map +1 -1
  239. package/dist/useCases/consumption/requests/GetOutgoingRequests.d.ts +17 -34
  240. package/dist/useCases/consumption/requests/GetOutgoingRequests.js +2 -2
  241. package/dist/useCases/consumption/requests/GetOutgoingRequests.js.map +1 -1
  242. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.d.ts +6 -7
  243. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js +4 -10
  244. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js.map +1 -1
  245. package/dist/useCases/consumption/requests/RejectIncomingRequest.d.ts +5 -6
  246. package/dist/useCases/consumption/requests/RejectIncomingRequest.js +7 -17
  247. package/dist/useCases/consumption/requests/RejectIncomingRequest.js.map +1 -1
  248. package/dist/useCases/consumption/requests/RequestMapper.d.ts +4 -4
  249. package/dist/useCases/consumption/requests/RequestMapper.js +3 -3
  250. package/dist/useCases/consumption/requests/RequestMapper.js.map +1 -1
  251. package/dist/useCases/consumption/requests/RequestValidationResultMapper.js +2 -2
  252. package/dist/useCases/consumption/requests/RequestValidationResultMapper.js.map +1 -1
  253. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.d.ts +6 -7
  254. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js +4 -13
  255. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js.map +1 -1
  256. package/dist/useCases/consumption/requests/SentOutgoingRequest.d.ts +6 -7
  257. package/dist/useCases/consumption/requests/SentOutgoingRequest.js +4 -15
  258. package/dist/useCases/consumption/requests/SentOutgoingRequest.js.map +1 -1
  259. package/dist/useCases/consumption/settings/GetSettings.d.ts +9 -1
  260. package/dist/useCases/consumption/settings/GetSettings.js +0 -1
  261. package/dist/useCases/consumption/settings/GetSettings.js.map +1 -1
  262. package/dist/useCases/consumption/settings/SettingMapper.js +0 -1
  263. package/dist/useCases/consumption/settings/SettingMapper.js.map +1 -1
  264. package/dist/useCases/transport/account/SyncEverything.d.ts +3 -7
  265. package/dist/useCases/transport/account/SyncEverything.js +2 -33
  266. package/dist/useCases/transport/account/SyncEverything.js.map +1 -1
  267. package/dist/useCases/transport/challenges/CreateChallenge.d.ts +1 -1
  268. package/dist/useCases/transport/challenges/{ValidateChallange.d.ts → ValidateChallenge.d.ts} +0 -0
  269. package/dist/useCases/transport/challenges/{ValidateChallange.js → ValidateChallenge.js} +1 -1
  270. package/dist/useCases/transport/challenges/{ValidateChallange.js.map → ValidateChallenge.js.map} +1 -1
  271. package/dist/useCases/transport/challenges/index.d.ts +1 -1
  272. package/dist/useCases/transport/challenges/index.js +1 -1
  273. package/dist/useCases/transport/files/CreateQrCodeForFile.d.ts +21 -0
  274. package/dist/useCases/{consumption/attributes/GetAttributeByName.js → transport/files/CreateQrCodeForFile.js} +23 -21
  275. package/dist/useCases/transport/files/CreateQrCodeForFile.js.map +1 -0
  276. package/dist/useCases/transport/files/CreateTokenForFile.d.ts +1 -1
  277. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.d.ts +1 -1
  278. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js +1 -1
  279. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
  280. package/dist/useCases/transport/files/DownloadFile.d.ts +1 -1
  281. package/dist/useCases/transport/files/FileMapper.js +1 -3
  282. package/dist/useCases/transport/files/FileMapper.js.map +1 -1
  283. package/dist/useCases/transport/files/GetFile.d.ts +1 -1
  284. package/dist/useCases/transport/files/GetFiles.d.ts +13 -1
  285. package/dist/useCases/transport/files/GetFiles.js +0 -6
  286. package/dist/useCases/transport/files/GetFiles.js.map +1 -1
  287. package/dist/useCases/transport/files/LoadPeerFile.d.ts +7 -5
  288. package/dist/useCases/transport/files/LoadPeerFile.js +19 -6
  289. package/dist/useCases/transport/files/LoadPeerFile.js.map +1 -1
  290. package/dist/useCases/transport/files/index.d.ts +1 -0
  291. package/dist/useCases/transport/files/index.js +1 -0
  292. package/dist/useCases/transport/files/index.js.map +1 -1
  293. package/dist/useCases/transport/messages/GetMessages.d.ts +12 -0
  294. package/dist/useCases/transport/messages/GetMessages.js +13 -10
  295. package/dist/useCases/transport/messages/GetMessages.js.map +1 -1
  296. package/dist/useCases/transport/messages/MessageMapper.js +5 -6
  297. package/dist/useCases/transport/messages/MessageMapper.js.map +1 -1
  298. package/dist/useCases/transport/messages/SendMessage.d.ts +3 -5
  299. package/dist/useCases/transport/messages/SendMessage.js +1 -10
  300. package/dist/useCases/transport/messages/SendMessage.js.map +1 -1
  301. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.d.ts +5 -0
  302. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js +4 -0
  303. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js.map +1 -1
  304. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.d.ts +18 -0
  305. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js +49 -0
  306. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js.map +1 -0
  307. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js +1 -1
  308. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js.map +1 -1
  309. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.d.ts +9 -0
  310. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js +2 -0
  311. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js.map +1 -1
  312. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.d.ts +31 -15
  313. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js +53 -43
  314. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js.map +1 -1
  315. package/dist/useCases/transport/relationshipTemplates/RelationshipTemplateMapper.js +3 -1
  316. package/dist/useCases/transport/relationshipTemplates/RelationshipTemplateMapper.js.map +1 -1
  317. package/dist/useCases/transport/relationshipTemplates/index.d.ts +1 -0
  318. package/dist/useCases/transport/relationshipTemplates/index.js +1 -0
  319. package/dist/useCases/transport/relationshipTemplates/index.js.map +1 -1
  320. package/dist/useCases/transport/relationships/AcceptRelationshipChange.d.ts +3 -5
  321. package/dist/useCases/transport/relationships/AcceptRelationshipChange.js +2 -11
  322. package/dist/useCases/transport/relationships/AcceptRelationshipChange.js.map +1 -1
  323. package/dist/useCases/transport/relationships/CreateRelationship.d.ts +3 -5
  324. package/dist/useCases/transport/relationships/CreateRelationship.js +2 -11
  325. package/dist/useCases/transport/relationships/CreateRelationship.js.map +1 -1
  326. package/dist/useCases/transport/relationships/GetAttributesForRelationship.d.ts +20 -0
  327. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js +65 -0
  328. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js.map +1 -0
  329. package/dist/useCases/transport/relationships/GetRelationships.d.ts +6 -1
  330. package/dist/useCases/transport/relationships/GetRelationships.js +0 -5
  331. package/dist/useCases/transport/relationships/GetRelationships.js.map +1 -1
  332. package/dist/useCases/transport/relationships/RejectRelationshipChange.d.ts +3 -5
  333. package/dist/useCases/transport/relationships/RejectRelationshipChange.js +2 -11
  334. package/dist/useCases/transport/relationships/RejectRelationshipChange.js.map +1 -1
  335. package/dist/useCases/transport/relationships/RelationshipMapper.js +1 -3
  336. package/dist/useCases/transport/relationships/RelationshipMapper.js.map +1 -1
  337. package/dist/useCases/transport/relationships/RevokeRelationshipChange.d.ts +3 -5
  338. package/dist/useCases/transport/relationships/RevokeRelationshipChange.js +2 -11
  339. package/dist/useCases/transport/relationships/RevokeRelationshipChange.js.map +1 -1
  340. package/dist/useCases/transport/relationships/index.d.ts +1 -0
  341. package/dist/useCases/transport/relationships/index.js +1 -0
  342. package/dist/useCases/transport/relationships/index.js.map +1 -1
  343. package/dist/useCases/transport/tokens/GetQRCodeForToken.js +1 -1
  344. package/dist/useCases/transport/tokens/GetQRCodeForToken.js.map +1 -1
  345. package/dist/useCases/transport/tokens/GetTokens.d.ts +7 -1
  346. package/dist/useCases/transport/tokens/GetTokens.js.map +1 -1
  347. package/lib-web/nmshd.runtime.js +8965 -5439
  348. package/lib-web/nmshd.runtime.js.map +1 -1
  349. package/lib-web/nmshd.runtime.min.js +3 -3
  350. package/lib-web/nmshd.runtime.min.js.map +1 -1
  351. package/package.json +22 -25
  352. package/dist/dataViews/consumption/MatchedAttributesDVO.d.ts +0 -8
  353. package/dist/dataViews/consumption/MatchedAttributesDVO.js.map +0 -1
  354. package/dist/dataViews/consumption/StoredAttributeDVO.d.ts +0 -6
  355. package/dist/dataViews/consumption/StoredAttributeDVO.js.map +0 -1
  356. package/dist/dataViews/content/AttributeDVO.d.ts +0 -14
  357. package/dist/dataViews/content/AttributeDVO.js.map +0 -1
  358. package/dist/dataViews/content/RequestDVOs.d.ts +0 -66
  359. package/dist/dataViews/content/RequestDVOs.js.map +0 -1
  360. package/dist/events/Event.d.ts +0 -4
  361. package/dist/events/Event.js +0 -10
  362. package/dist/events/Event.js.map +0 -1
  363. package/dist/events/consumption/RequestMailReceivedEvent.d.ts +0 -8
  364. package/dist/events/consumption/RequestMailReceivedEvent.js +0 -13
  365. package/dist/events/consumption/RequestMailReceivedEvent.js.map +0 -1
  366. package/dist/events/transport/TransportLibraryInitializedEvent.d.ts +0 -5
  367. package/dist/events/transport/TransportLibraryInitializedEvent.js +0 -12
  368. package/dist/events/transport/TransportLibraryInitializedEvent.js.map +0 -1
  369. package/dist/events/transport/TransportLibraryInitializingEvent.d.ts +0 -5
  370. package/dist/events/transport/TransportLibraryInitializingEvent.js +0 -12
  371. package/dist/events/transport/TransportLibraryInitializingEvent.js.map +0 -1
  372. package/dist/types/consumption/ConsumptionAttributeDTO.d.ts +0 -6
  373. package/dist/types/consumption/ConsumptionAttributeDTO.js +0 -3
  374. package/dist/types/consumption/ConsumptionAttributeDTO.js.map +0 -1
  375. package/dist/types/consumption/ConsumptionRequestDTO.d.ts +0 -25
  376. package/dist/types/consumption/ConsumptionRequestDTO.js +0 -3
  377. package/dist/types/consumption/ConsumptionRequestDTO.js.map +0 -1
  378. package/dist/types/consumption/RelationshipAttributeDTO.d.ts +0 -6
  379. package/dist/types/consumption/RelationshipAttributeDTO.js +0 -3
  380. package/dist/types/consumption/RelationshipAttributeDTO.js.map +0 -1
  381. package/dist/types/consumption/RelationshipInfoDTO.d.ts +0 -13
  382. package/dist/types/consumption/RelationshipInfoDTO.js +0 -3
  383. package/dist/types/consumption/RelationshipInfoDTO.js.map +0 -1
  384. package/dist/types/consumption/RelationshipThemeDTO.d.ts +0 -6
  385. package/dist/types/consumption/RelationshipThemeDTO.js +0 -3
  386. package/dist/types/consumption/RelationshipThemeDTO.js.map +0 -1
  387. package/dist/types/consumption/SharedItemDTO.d.ts +0 -12
  388. package/dist/types/consumption/SharedItemDTO.js.map +0 -1
  389. package/dist/useCases/consumption/attributes/DeleteAttributeByName.d.ts +0 -17
  390. package/dist/useCases/consumption/attributes/DeleteAttributeByName.js.map +0 -1
  391. package/dist/useCases/consumption/attributes/GetAllValid.d.ts +0 -9
  392. package/dist/useCases/consumption/attributes/GetAllValid.js.map +0 -1
  393. package/dist/useCases/consumption/attributes/GetAttributeByName.d.ts +0 -16
  394. package/dist/useCases/consumption/attributes/GetAttributeByName.js.map +0 -1
  395. package/dist/useCases/consumption/attributes/GetAttributesByNames.d.ts +0 -16
  396. package/dist/useCases/consumption/attributes/GetAttributesByNames.js.map +0 -1
  397. package/dist/useCases/consumption/attributes/GetHistoryByName.d.ts +0 -16
  398. package/dist/useCases/consumption/attributes/GetHistoryByName.js.map +0 -1
@@ -13,6 +13,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DataViewExpander = void 0;
16
+ const ts_serval_1 = require("@js-soft/ts-serval");
17
+ const consumption_1 = require("@nmshd/consumption");
18
+ const content_1 = require("@nmshd/content");
16
19
  const transport_1 = require("@nmshd/transport");
17
20
  const typescript_ioc_1 = require("typescript-ioc");
18
21
  const extensibility_1 = require("../extensibility");
@@ -22,9 +25,10 @@ const DataViewTranslateable_1 = require("./DataViewTranslateable");
22
25
  const MessageDVO_1 = require("./transport/MessageDVO");
23
26
  const RelationshipDVO_1 = require("./transport/RelationshipDVO");
24
27
  let DataViewExpander = class DataViewExpander {
25
- constructor(transport, consumption, identityController) {
28
+ constructor(transport, consumption, consumptionController, identityController) {
26
29
  this.transport = transport;
27
30
  this.consumption = consumption;
31
+ this.consumptionController = consumptionController;
28
32
  this.identityController = identityController;
29
33
  }
30
34
  async expand(content, expectedType) {
@@ -32,7 +36,7 @@ let DataViewExpander = class DataViewExpander {
32
36
  if (content["@type"]) {
33
37
  type = content["@type"];
34
38
  }
35
- if (content instanceof Array) {
39
+ if (Array.isArray(content)) {
36
40
  if (content.length > 0) {
37
41
  type = content[0]["@type"];
38
42
  }
@@ -44,71 +48,51 @@ let DataViewExpander = class DataViewExpander {
44
48
  }
45
49
  switch (type) {
46
50
  case "Message":
47
- if (content instanceof Array) {
51
+ if (Array.isArray(content)) {
48
52
  return await this.expandMessageDTOs(content);
49
53
  }
50
54
  return await this.expandMessageDTO(content);
51
- case "AttributesRequest":
52
- if (content instanceof Array) {
53
- return await this.expandUnknownRequests(content);
54
- }
55
- return await this.expandUnknownRequest(content);
56
- case "AttributesShareRequest":
57
- if (content instanceof Array) {
58
- return await this.expandAttributesShareRequests(content);
59
- }
60
- return await this.expandAttributesShareRequest(content);
61
- case "AttributesChangeRequest":
62
- if (content instanceof Array) {
63
- return await this.expandAttributesChangeRequests(content);
64
- }
65
- return await this.expandAttributesChangeRequest(content);
66
55
  case "Attribute":
67
- if (content instanceof Array) {
56
+ if (Array.isArray(content)) {
68
57
  return await this.expandAttributes(content);
69
58
  }
70
- return this.expandAttribute(content);
71
- case "AttributeName":
72
- if (content instanceof Array) {
73
- return await this.expandAttributeNames(content);
74
- }
75
- return await this.expandAttributeName(content);
59
+ return await this.expandAttribute(content);
76
60
  case "Address":
77
- if (content instanceof Array) {
61
+ if (Array.isArray(content)) {
78
62
  return await this.expandAddresses(content);
79
63
  }
80
64
  return await this.expandAddress(content);
81
65
  case "FileId":
82
- if (content instanceof Array) {
66
+ if (Array.isArray(content)) {
83
67
  return await this.expandFileIds(content);
84
68
  }
85
69
  return await this.expandFileId(content);
86
70
  case "File":
87
- if (content instanceof Array) {
71
+ if (Array.isArray(content)) {
88
72
  return await this.expandFileDTOs(content);
89
73
  }
90
74
  return await this.expandFileDTO(content);
91
75
  case "Recipient":
92
- if (content instanceof Array) {
93
- return await this.expandRecipients(content);
76
+ if (Array.isArray(content)) {
77
+ return await this.expandRecipientDTOs(content);
94
78
  }
95
79
  return await this.expandAddress(content);
96
80
  case "Relationship":
97
- if (content instanceof Array) {
81
+ if (Array.isArray(content)) {
98
82
  return await this.expandRelationshipDTOs(content);
99
83
  }
100
84
  return await this.expandRelationshipDTO(content);
101
- case "ConsumptionAttribute":
102
- if (content instanceof Array) {
103
- return await this.expandConsumptionAttributes(content);
85
+ case "LocalAttribute":
86
+ if (Array.isArray(content)) {
87
+ return await this.expandLocalAttributeDTOs(content);
104
88
  }
105
- return this.expandConsumptionAttribute(content);
89
+ return await this.expandLocalAttributeDTO(content);
106
90
  default:
107
91
  throw useCases_1.RuntimeErrors.general.notImplemented();
108
92
  }
109
93
  }
110
94
  async expandMessageDTO(message) {
111
- const recipientRelationships = await this.expandRecipients(message.recipients);
95
+ const recipientRelationships = await this.expandRecipientDTOs(message.recipients);
112
96
  const addressMap = {};
113
97
  recipientRelationships.forEach((value) => (addressMap[value.id] = value));
114
98
  const createdByRelationship = await this.expandAddress(message.createdBy);
@@ -154,7 +138,8 @@ let DataViewExpander = class DataViewExpander {
154
138
  status,
155
139
  statusText: `i18n://dvo.message.${status}`,
156
140
  image: "",
157
- peer: peer
141
+ peer: peer,
142
+ content: message.content
158
143
  };
159
144
  if (message.content["@type"] === "Mail" || message.content["@type"] === "RequestMail") {
160
145
  const mailContent = message.content;
@@ -174,230 +159,501 @@ let DataViewExpander = class DataViewExpander {
174
159
  cc: cc,
175
160
  ccCount: cc.length
176
161
  };
177
- if (mailContent["@type"] === "RequestMail") {
178
- const requestMailContent = message.content;
179
- const requestMailDVO = {
180
- ...mailDVO,
181
- type: "RequestMailDVO",
182
- name: requestMailContent.subject ? requestMailContent.subject : DataViewTranslateable_1.DataViewTranslateable.consumption.mails.requestMailSubjectFallback,
183
- requests: await this.expandUnknownRequests(requestMailContent.requests),
184
- requestCount: requestMailContent.requests.length
185
- };
186
- return requestMailDVO;
187
- }
188
162
  return mailDVO;
189
163
  }
164
+ if (message.content["@type"] === "Request") {
165
+ let localRequest;
166
+ if (isOwn) {
167
+ const localRequestsResult = await this.consumption.outgoingRequests.getRequests({
168
+ query: { "source.reference": message.id }
169
+ });
170
+ if (localRequestsResult.value.length === 0) {
171
+ throw new Error("No LocalRequest has been found for this message id.");
172
+ }
173
+ if (localRequestsResult.value.length > 1) {
174
+ throw new Error("More than one LocalRequest has been found for this message id.");
175
+ }
176
+ localRequest = localRequestsResult.value[0];
177
+ }
178
+ else {
179
+ const localRequestsResult = await this.consumption.incomingRequests.getRequests({
180
+ query: { "source.reference": message.id }
181
+ });
182
+ if (localRequestsResult.value.length === 0) {
183
+ throw new Error("No LocalRequest has been found for this message id.");
184
+ }
185
+ if (localRequestsResult.value.length > 1) {
186
+ throw new Error("More than one LocalRequest has been found for this message id.");
187
+ }
188
+ localRequest = localRequestsResult.value[0];
189
+ }
190
+ const requestMessageDVO = {
191
+ ...messageDVO,
192
+ type: "RequestMessageDVO",
193
+ request: await this.expandLocalRequestDTO(localRequest)
194
+ };
195
+ return requestMessageDVO;
196
+ }
197
+ if (message.content["@type"] === "Response") {
198
+ let localRequest;
199
+ if (isOwn) {
200
+ const localRequestsResult = await this.consumption.incomingRequests.getRequests({
201
+ query: { id: message.content.requestId }
202
+ });
203
+ if (localRequestsResult.value.length === 0) {
204
+ throw new Error("No LocalRequest has been found for this message id.");
205
+ }
206
+ if (localRequestsResult.value.length > 1) {
207
+ throw new Error("More than one LocalRequest has been found for this message id.");
208
+ }
209
+ localRequest = localRequestsResult.value[0];
210
+ }
211
+ else {
212
+ const localRequestsResult = await this.consumption.outgoingRequests.getRequests({
213
+ query: { id: message.content.requestId }
214
+ });
215
+ if (localRequestsResult.value.length === 0) {
216
+ throw new Error("No LocalRequest has been found for this message id.");
217
+ }
218
+ if (localRequestsResult.value.length > 1) {
219
+ throw new Error("More than one LocalRequest has been found for this message id.");
220
+ }
221
+ localRequest = localRequestsResult.value[0];
222
+ }
223
+ const requestMessageDVO = {
224
+ ...messageDVO,
225
+ type: "RequestMessageDVO",
226
+ request: await this.expandLocalRequestDTO(localRequest)
227
+ };
228
+ return requestMessageDVO;
229
+ }
190
230
  return messageDVO;
191
231
  }
192
232
  async expandMessageDTOs(messages) {
193
233
  const messagePromises = messages.map((message) => this.expandMessageDTO(message));
194
234
  return await Promise.all(messagePromises);
195
235
  }
196
- async expandUnknownRequest(request) {
197
- switch (request["@type"]) {
198
- case "AttributesRequest":
199
- return await this.expandAttributesRequest(request);
200
- case "AttributesShareRequest":
201
- return await this.expandAttributesShareRequest(request);
202
- case "AttributesChangeRequest":
203
- return await this.expandAttributesChangeRequest(request);
236
+ async expandRelationshipTemplateDTO(template) {
237
+ let onNewRelationship;
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;
244
+ }
245
+ let localRequest;
246
+ if (!template.isOwn) {
247
+ const onNewRelationshipRequest = await this.consumption.incomingRequests.getRequests({
248
+ query: {
249
+ "source.reference": template.id
250
+ }
251
+ });
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
+ };
261
+ }
262
+ onNewRelationship = await this.expandRequest(templateBody.onNewRelationship);
263
+ if (templateBody.onExistingRelationship) {
264
+ onExistingRelationship = await this.expandRequest(templateBody.onExistingRelationship);
265
+ }
204
266
  }
205
267
  return {
206
- id: request.id ? request.id : "",
207
- name: `${request["@type"]} ${request.key}`,
208
- description: "i18n://dvo.request.unknownType",
209
- type: "RequestDVO",
210
- date: request.expiresAt,
211
- ...request
268
+ name,
269
+ type: "RelationshipTemplateDVO",
270
+ date: template.createdAt,
271
+ ...template,
272
+ createdBy: await this.expandAddress(template.createdBy),
273
+ onNewRelationship,
274
+ onExistingRelationship
212
275
  };
213
276
  }
214
- expandRequest(request) {
277
+ async expandRelationshipTemplateDTOs(templates) {
278
+ const templatePromises = templates.map((template) => this.expandRelationshipTemplateDTO(template));
279
+ return await Promise.all(templatePromises);
280
+ }
281
+ async expandRequest(request, localRequestDTO) {
282
+ const id = request.id ? request.id : "";
283
+ const itemDVOs = [];
284
+ for (const requestItem of request.items) {
285
+ itemDVOs.push(await this.expandRequestGroupOrItem(requestItem, localRequestDTO));
286
+ }
215
287
  return {
216
- id: request.id ? request.id : "",
217
- name: `${request["@type"]} ${request.key}`,
288
+ id: id,
289
+ name: `${request["@type"]} ${id}`,
218
290
  type: "RequestDVO",
219
291
  date: request.expiresAt,
220
- ...request
292
+ ...request,
293
+ items: itemDVOs
221
294
  };
222
295
  }
223
- async expandUnknownRequests(requests) {
224
- const requestsPromise = requests.map((request) => this.expandUnknownRequest(request));
225
- return await Promise.all(requestsPromise);
226
- }
227
- async expandAttributesShareRequest(attributesShareRequest) {
228
- const request = this.expandRequest(attributesShareRequest);
229
- const recipientObjects = [];
230
- let possibleRecipientCount = 0;
231
- for (const recipient of attributesShareRequest.recipients) {
232
- if (this.identityController.isMe(transport_1.CoreAddress.from(recipient))) {
233
- continue;
234
- }
235
- const identity = await this.expandIdentityForAddress(recipient);
236
- if (identity.hasRelationship) {
237
- recipientObjects.push(identity);
238
- possibleRecipientCount++;
239
- }
296
+ /*
297
+ public async expandRequests(requests: RequestJSON[]): Promise<RequestDVO[]> {
298
+ const requestPromises = requests.map((request) => this.expandRequest(request));
299
+ return await Promise.all(requestPromises);
300
+ }
301
+ */
302
+ async expandRequestItem(requestItem, localRequestDTO) {
303
+ let isDecidable = false;
304
+ if (localRequestDTO && !localRequestDTO.isOwn && (localRequestDTO.status === "DecisionRequired" || localRequestDTO.status === "ManualDecisionRequired")) {
305
+ isDecidable = true;
306
+ }
307
+ switch (requestItem["@type"]) {
308
+ case "ReadAttributeRequestItem":
309
+ const readAttributeRequestItem = requestItem;
310
+ if (isDecidable) {
311
+ return {
312
+ ...readAttributeRequestItem,
313
+ type: "DecidableReadAttributeRequestItemDVO",
314
+ id: "",
315
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ReadAttributeRequestItem.name",
316
+ query: await this.processIdentityAttributeQuery(readAttributeRequestItem.query),
317
+ isDecidable
318
+ };
319
+ }
320
+ return {
321
+ ...readAttributeRequestItem,
322
+ type: "ReadAttributeRequestItemDVO",
323
+ id: "",
324
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ReadAttributeRequestItem.name",
325
+ query: this.expandIdentityAttributeQuery(readAttributeRequestItem.query),
326
+ isDecidable
327
+ };
328
+ case "CreateAttributeRequestItem":
329
+ const createAttributeRequestItem = requestItem;
330
+ if (isDecidable) {
331
+ return {
332
+ ...createAttributeRequestItem,
333
+ type: "DecidableCreateAttributeRequestItemDVO",
334
+ id: "",
335
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateAttributeRequestItem.name",
336
+ attribute: await this.expandAttribute(createAttributeRequestItem.attribute),
337
+ isDecidable
338
+ };
339
+ }
340
+ return {
341
+ ...createAttributeRequestItem,
342
+ type: "CreateAttributeRequestItemDVO",
343
+ id: "",
344
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.CreateAttributeRequestItem.name",
345
+ attribute: await this.expandAttribute(createAttributeRequestItem.attribute),
346
+ isDecidable
347
+ };
348
+ case "ProposeAttributeRequestItem":
349
+ const proposeAttributeRequestItem = requestItem;
350
+ if (localRequestDTO) {
351
+ proposeAttributeRequestItem.attribute.owner = localRequestDTO.isOwn ? localRequestDTO.peer : this.identityController.address.toString();
352
+ }
353
+ if (isDecidable) {
354
+ return {
355
+ ...proposeAttributeRequestItem,
356
+ type: "DecidableProposeAttributeRequestItemDVO",
357
+ id: "",
358
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
359
+ attribute: await this.expandAttribute(proposeAttributeRequestItem.attribute),
360
+ query: await this.processIdentityAttributeQuery(proposeAttributeRequestItem.query),
361
+ isDecidable
362
+ };
363
+ }
364
+ return {
365
+ ...proposeAttributeRequestItem,
366
+ type: "ProposeAttributeRequestItemDVO",
367
+ id: "",
368
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
369
+ attribute: await this.expandAttribute(proposeAttributeRequestItem.attribute),
370
+ query: this.expandIdentityAttributeQuery(proposeAttributeRequestItem.query),
371
+ isDecidable
372
+ };
373
+ case "ShareAttributeRequestItem":
374
+ const shareAttributeRequestItem = requestItem;
375
+ const attributeResult = await this.consumption.attributes.getAttribute({ id: shareAttributeRequestItem.attributeId });
376
+ const attribute = attributeResult.value;
377
+ const attributeDVO = await this.expandLocalAttributeDTO(attribute);
378
+ const shareWith = await this.expandAddress(shareAttributeRequestItem.shareWith);
379
+ if (isDecidable) {
380
+ return {
381
+ ...shareAttributeRequestItem,
382
+ type: "DecidableShareAttributeRequestItemDVO",
383
+ id: "",
384
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
385
+ attribute: attributeDVO,
386
+ shareWith,
387
+ isDecidable
388
+ };
389
+ }
390
+ return {
391
+ ...shareAttributeRequestItem,
392
+ type: "ShareAttributeRequestItemDVO",
393
+ id: "",
394
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
395
+ attribute: attributeDVO,
396
+ shareWith,
397
+ isDecidable
398
+ };
399
+ default:
400
+ return {
401
+ ...requestItem,
402
+ type: "RequestItemDVO",
403
+ id: "",
404
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.name",
405
+ isDecidable
406
+ };
240
407
  }
241
- if (recipientObjects.length === 0) {
242
- request.errorCount = (request.errorCount ?? 0) + 1;
243
- const error = {
244
- code: "error.dvo.request.AttributeShareRequest.noRelationship",
245
- message: "There are no relationships to any of the recipients of this request."
246
- };
247
- if (!request.errors) {
248
- request.errors = [];
408
+ }
409
+ async expandRequestGroupOrItem(requestGroupOrItem, localRequestDTO) {
410
+ if (requestGroupOrItem["@type"] === "RequestItemGroup") {
411
+ let isDecidable = false;
412
+ if (localRequestDTO && !localRequestDTO.isOwn && (localRequestDTO.status === "DecisionRequired" || localRequestDTO.status === "ManualDecisionRequired")) {
413
+ isDecidable = true;
249
414
  }
250
- request.errors.push(error);
251
- }
252
- else if (recipientObjects.length !== possibleRecipientCount) {
253
- request.warningCount = (request.warningCount ?? 0) + 1;
254
- const warning = {
255
- code: "warning.dvo.request.AttributeShareRequest.onlyRelationships",
256
- message: "Not to every recipient of this request exist a relationship."
257
- };
258
- if (!request.warnings) {
259
- request.warnings = [];
415
+ const group = requestGroupOrItem;
416
+ const itemDVOs = [];
417
+ for (const requestItem of group.items) {
418
+ itemDVOs.push(await this.expandRequestItem(requestItem, localRequestDTO));
260
419
  }
261
- request.warnings.push(warning);
262
- }
263
- const attributesObjects = [];
264
- for (const attributeName of attributesShareRequest.attributes) {
265
- const attributeDVO = await this.expandAttributeName(attributeName);
266
- attributesObjects.push(attributeDVO);
267
- }
268
- let name;
269
- if (attributesObjects.length > 1) {
270
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesShareRequestNamePlural;
420
+ return {
421
+ type: "RequestItemGroupDVO",
422
+ items: itemDVOs,
423
+ isDecidable,
424
+ title: requestGroupOrItem.title,
425
+ description: requestGroupOrItem.description,
426
+ mustBeAccepted: requestGroupOrItem.mustBeAccepted
427
+ };
271
428
  }
272
- else {
273
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesShareRequestName;
429
+ return await this.expandRequestItem(requestGroupOrItem, localRequestDTO);
430
+ }
431
+ async expandLocalRequestDTO(request) {
432
+ const requestDVO = await this.expandRequest(request.content, request);
433
+ const peerDVO = await this.expandAddress(request.peer);
434
+ let isDecidable = false;
435
+ if (!request.isOwn && (request.status === "DecisionRequired" || request.status === "ManualDecisionRequired")) {
436
+ isDecidable = true;
274
437
  }
275
438
  return {
276
439
  ...request,
277
- name,
278
- type: "AttributesShareRequestDVO",
279
- attributes: attributesObjects,
280
- attributeCount: attributesObjects.length,
281
- recipients: recipientObjects,
282
- recipientCount: recipientObjects.length,
283
- possibleRecipientCount
440
+ id: request.id,
441
+ content: requestDVO,
442
+ items: requestDVO.items,
443
+ name: "i18n://dvo.localRequest.name",
444
+ type: "LocalRequestDVO",
445
+ date: request.createdAt,
446
+ createdBy: request.isOwn ? this.expandSelf() : peerDVO,
447
+ decider: request.isOwn ? peerDVO : this.expandSelf(),
448
+ peer: peerDVO,
449
+ response: request.response ? this.expandLocalResponseDTO(request.response) : undefined,
450
+ statusText: `i18n://dvo.localRequest.status.${request.status}`,
451
+ isDecidable
452
+ };
453
+ }
454
+ expandLocalResponseDTO(response) {
455
+ return {
456
+ ...response,
457
+ id: "",
458
+ name: "i18n://dvo.localResponse.name",
459
+ type: "LocalResponseDVO",
460
+ date: response.createdAt
284
461
  };
285
462
  }
286
- expandConsumptionAttribute(attribute) {
463
+ async expandLocalAttributeDTO(attribute) {
464
+ const valueType = attribute.content.value["@type"];
465
+ const localAttribute = await this.consumptionController.attributes.getLocalAttribute(transport_1.CoreId.from(attribute.id));
466
+ if (!localAttribute) {
467
+ throw new Error("Attribute not found");
468
+ }
469
+ const owner = attribute.content.owner;
470
+ let name = `i18n://dvo.attribute.name.${valueType}`;
471
+ let description = `i18n://dvo.attribute.description.${valueType}`;
472
+ if (localAttribute.content instanceof content_1.RelationshipAttribute) {
473
+ name = "";
474
+ description = "";
475
+ }
476
+ const renderHints = localAttribute.content.value.renderHints.toJSON();
477
+ const valueHints = localAttribute.content.value.valueHints.toJSON();
478
+ if (localAttribute.shareInfo) {
479
+ const peer = localAttribute.shareInfo.peer.toString();
480
+ if (localAttribute.shareInfo.sourceAttribute) {
481
+ // Own Shared Attribute
482
+ return {
483
+ type: "SharedToPeerAttributeDVO",
484
+ id: attribute.id,
485
+ name,
486
+ description,
487
+ content: attribute.content,
488
+ value: attribute.content.value,
489
+ date: attribute.createdAt,
490
+ owner: owner,
491
+ renderHints,
492
+ valueHints,
493
+ isValid: true,
494
+ createdAt: attribute.createdAt,
495
+ isOwn: true,
496
+ peer: peer,
497
+ isDraft: false,
498
+ requestReference: localAttribute.shareInfo.requestReference.toString(),
499
+ sourceAttribute: localAttribute.shareInfo.sourceAttribute.toString(),
500
+ tags: []
501
+ };
502
+ }
503
+ // Peer Attribute
504
+ return {
505
+ type: "PeerAttributeDVO",
506
+ id: attribute.id,
507
+ name,
508
+ description,
509
+ content: attribute.content,
510
+ value: attribute.content.value,
511
+ date: attribute.createdAt,
512
+ owner: owner,
513
+ renderHints,
514
+ valueHints,
515
+ isValid: true,
516
+ createdAt: attribute.createdAt,
517
+ isOwn: false,
518
+ peer: peer,
519
+ isDraft: false,
520
+ requestReference: localAttribute.shareInfo.requestReference.toString(),
521
+ tags: []
522
+ };
523
+ }
524
+ const sharedToPeerAttributes = await this.consumption.attributes.getAttributes({ query: { "shareInfo.sourceAttribute": attribute.id } });
525
+ const sharedToPeerDVOs = await this.expandLocalAttributeDTOs(sharedToPeerAttributes.value);
526
+ // Own Source Attribute
287
527
  return {
288
- type: "StoredAttributeDVO",
528
+ type: "RepositoryAttributeDVO",
289
529
  id: attribute.id,
290
- name: attribute.content.name,
530
+ name,
531
+ description,
532
+ content: attribute.content,
291
533
  value: attribute.content.value,
292
534
  date: attribute.createdAt,
535
+ owner: owner,
536
+ renderHints,
537
+ valueHints,
538
+ isValid: true,
539
+ createdAt: attribute.createdAt,
293
540
  isOwn: true,
294
- sharedItems: [],
295
- sharedItemCount: 0
541
+ isDraft: false,
542
+ sharedWith: sharedToPeerDVOs,
543
+ tags: []
296
544
  };
297
545
  }
298
- async expandConsumptionAttributes(attributes) {
299
- const attributesPromise = attributes.map((attribute) => this.expandConsumptionAttribute(attribute));
546
+ async expandLocalAttributeDTOs(attributes) {
547
+ const attributesPromise = attributes.map((attribute) => this.expandLocalAttributeDTO(attribute));
300
548
  return await Promise.all(attributesPromise);
301
549
  }
302
- async expandAttributeName(name) {
303
- const consumptionAttribute = await this.consumption.attributes.getAttributeByName({ name: name });
304
- let matchedAttributes = [];
305
- if (consumptionAttribute.isSuccess) {
306
- matchedAttributes = [this.expandConsumptionAttribute(consumptionAttribute.value)];
550
+ expandIdentityAttributeQuery(query) {
551
+ const valueType = query.valueType;
552
+ const name = `i18n://dvo.attribute.name.${valueType}`;
553
+ const description = `i18n://dvo.attribute.description.${valueType}`;
554
+ const valueTypeClass = ts_serval_1.SerializableBase.getModule(valueType, 1);
555
+ if (!valueTypeClass) {
556
+ throw new Error(`No class implementation found for ${valueType}`);
557
+ }
558
+ let renderHints = {
559
+ "@type": "RenderHints",
560
+ editType: content_1.RenderHintsEditType.InputLike,
561
+ technicalType: content_1.RenderHintsTechnicalType.String
562
+ };
563
+ let valueHints = {
564
+ "@type": "ValueHints",
565
+ max: 200
566
+ };
567
+ if (valueTypeClass.renderHints && valueTypeClass.renderHints instanceof content_1.RenderHints) {
568
+ renderHints = valueTypeClass.renderHints.toJSON();
307
569
  }
308
- let bestMatch;
309
- if (matchedAttributes.length > 0) {
310
- bestMatch = matchedAttributes[0];
570
+ if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
571
+ valueHints = valueTypeClass.valueHints.toJSON();
311
572
  }
312
573
  return {
313
- type: "MatchedAttributesDVO",
314
- id: name,
315
- name: name,
316
- matches: matchedAttributes,
317
- matchCount: matchedAttributes.length,
318
- bestMatch: bestMatch
574
+ type: "IdentityAttributeQueryDVO",
575
+ id: "",
576
+ name,
577
+ description,
578
+ valueType,
579
+ validFrom: query.validFrom,
580
+ validTo: query.validTo,
581
+ renderHints,
582
+ valueHints,
583
+ isProcessed: false
319
584
  };
320
585
  }
321
- async expandAttributeNames(names) {
322
- const namesPromise = names.map((name) => this.expandAttributeName(name));
323
- return await Promise.all(namesPromise);
324
- }
325
- expandAttribute(attribute) {
326
- return {
327
- type: "AttributeDVO",
328
- id: attribute.name,
329
- name: attribute.name,
330
- value: attribute.value,
331
- isOwn: false
586
+ async processIdentityAttributeQuery(query) {
587
+ const matchedAttributeDTOs = await this.consumption.attributes.executeIdentityAttributeQuery({
588
+ query
589
+ });
590
+ const matchedAttributeDVOs = await this.expandLocalAttributeDTOs(matchedAttributeDTOs.value);
591
+ const valueType = query.valueType;
592
+ const name = `i18n://dvo.attribute.name.${valueType}`;
593
+ const description = `i18n://dvo.attribute.description.${valueType}`;
594
+ const valueTypeClass = ts_serval_1.SerializableBase.getModule(valueType, 1);
595
+ if (!valueTypeClass) {
596
+ throw new Error(`No class implementation found for ${valueType}`);
597
+ }
598
+ let renderHints = {
599
+ "@type": "RenderHints",
600
+ editType: content_1.RenderHintsEditType.InputLike,
601
+ technicalType: content_1.RenderHintsTechnicalType.String
332
602
  };
333
- }
334
- async expandAttributes(attributes) {
335
- const attributesPromise = attributes.map((attribute) => this.expandAttribute(attribute));
336
- return await Promise.all(attributesPromise);
337
- }
338
- async expandAttributesChangeRequest(attributesChangeRequest) {
339
- const request = this.expandRequest(attributesChangeRequest);
340
- let applyToObject;
341
- if (attributesChangeRequest.applyTo) {
342
- applyToObject = await this.expandIdentityForAddress(attributesChangeRequest.applyTo);
343
- }
344
- else {
345
- applyToObject = this.expandSelf();
346
- }
347
- let name;
348
- const attributesObjects = [];
349
- for (const attribute of attributesChangeRequest.attributes) {
350
- const attributeDVO = this.expandAttribute(attribute);
351
- attributesObjects.push(attributeDVO);
603
+ let valueHints = {
604
+ "@type": "ValueHints",
605
+ max: 200
606
+ };
607
+ if (valueTypeClass.renderHints && valueTypeClass.renderHints instanceof content_1.RenderHints) {
608
+ renderHints = valueTypeClass.renderHints.toJSON();
352
609
  }
353
- const oldAttributesObjects = await this.expandAttributeNames(attributesObjects.map((item) => item.id));
354
- if (attributesObjects.length > 1) {
355
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestNamePlural;
610
+ if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
611
+ valueHints = valueTypeClass.valueHints.toJSON();
356
612
  }
357
- else {
358
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestName;
359
- }
360
- const changes = [];
361
- attributesObjects.forEach((attribute, index) => {
362
- changes.push({
363
- oldAttribute: oldAttributesObjects[index],
364
- newAttribute: attribute
365
- });
366
- });
367
613
  return {
368
- ...request,
369
- type: "AttributesChangeRequestDVO",
370
- name: name,
371
- newAttributes: attributesObjects,
372
- newAttributeCount: attributesObjects.length,
373
- oldAttributes: oldAttributesObjects,
374
- oldAttributeCount: oldAttributesObjects.length,
375
- applyTo: applyToObject,
376
- changes: changes,
377
- changeCount: changes.length
614
+ type: "ProcessedIdentityAttributeQueryDVO",
615
+ id: "",
616
+ name,
617
+ description,
618
+ valueType,
619
+ validFrom: query.validFrom,
620
+ validTo: query.validTo,
621
+ results: matchedAttributeDVOs,
622
+ renderHints,
623
+ valueHints,
624
+ isProcessed: true
378
625
  };
379
626
  }
380
- async expandAttributesRequest(attributesRequest) {
381
- const request = this.expandRequest(attributesRequest);
382
- let name;
383
- const attributesObjects = await this.expandAttributeNames(attributesRequest.names);
384
- if (attributesObjects.length > 1) {
385
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestNamePlural;
386
- }
387
- else {
388
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestName;
389
- }
627
+ async expandAttribute(attribute) {
628
+ const attributeInstance = ts_serval_1.Serializable.fromAny(attribute);
629
+ const valueType = attribute.value["@type"];
630
+ let name = `i18n://dvo.attribute.name.${valueType}`;
631
+ let description = `i18n://dvo.attribute.description.${valueType}`;
632
+ const renderHints = attributeInstance.value.renderHints.toJSON();
633
+ const valueHints = attributeInstance.value.valueHints.toJSON();
634
+ if (attributeInstance instanceof content_1.RelationshipAttribute) {
635
+ name = ""; // attributeInstance.value.title;
636
+ description = ""; // attributeInstance.value.description;
637
+ }
638
+ const owner = await this.expandAddress(attribute.owner);
390
639
  return {
391
- ...request,
392
- type: "AttributesRequestDVO",
393
- names: attributesRequest.names,
394
- nameCount: attributesRequest.names.length,
395
- name: name,
396
- attributes: attributesObjects,
397
- attributeCount: attributesObjects.length,
398
- required: attributesRequest.required
640
+ type: "DraftAttributeDVO",
641
+ content: attribute,
642
+ name,
643
+ description,
644
+ id: "",
645
+ owner: owner,
646
+ renderHints,
647
+ valueHints,
648
+ value: attribute.value,
649
+ isDraft: true,
650
+ isOwn: owner.isSelf
399
651
  };
400
652
  }
653
+ async expandAttributes(attributes) {
654
+ const attributesPromise = attributes.map((attribute) => this.expandAttribute(attribute));
655
+ return await Promise.all(attributesPromise);
656
+ }
401
657
  expandSelf() {
402
658
  const name = "i18n://dvo.identity.self.name";
403
659
  const initials = "i18n://dvo.identity.self.initials";
@@ -416,7 +672,7 @@ let DataViewExpander = class DataViewExpander {
416
672
  const name = address.substring(3, 9);
417
673
  const initials = (name.match(/\b\w/g) ?? []).join("");
418
674
  return {
419
- id: this.identityController.address.toString(),
675
+ id: address,
420
676
  type: "IdentityDVO",
421
677
  name: name,
422
678
  initials: initials,
@@ -426,14 +682,6 @@ let DataViewExpander = class DataViewExpander {
426
682
  hasRelationship: false
427
683
  };
428
684
  }
429
- async expandAttributesShareRequests(requests) {
430
- const requestsPromise = requests.map((request) => this.expandAttributesShareRequest(request));
431
- return await Promise.all(requestsPromise);
432
- }
433
- async expandAttributesChangeRequests(requests) {
434
- const requestsPromise = requests.map((request) => this.expandAttributesChangeRequest(request));
435
- return await Promise.all(requestsPromise);
436
- }
437
685
  async expandAddress(address) {
438
686
  if (this.identityController.isMe(transport_1.CoreAddress.from(address))) {
439
687
  return this.expandSelf();
@@ -448,7 +696,7 @@ let DataViewExpander = class DataViewExpander {
448
696
  const relationshipPromises = addresses.map((address) => this.expandAddress(address));
449
697
  return await Promise.all(relationshipPromises);
450
698
  }
451
- async expandRecipient(recipient) {
699
+ async expandRecipientDTO(recipient) {
452
700
  const identity = await this.expandAddress(recipient.address);
453
701
  return {
454
702
  ...identity,
@@ -457,11 +705,11 @@ let DataViewExpander = class DataViewExpander {
457
705
  receivedByDevice: recipient.receivedByDevice
458
706
  };
459
707
  }
460
- async expandRecipients(recipients) {
461
- const relationshipPromises = recipients.map((recipient) => this.expandRecipient(recipient));
708
+ async expandRecipientDTOs(recipients) {
709
+ const relationshipPromises = recipients.map((recipient) => this.expandRecipientDTO(recipient));
462
710
  return await Promise.all(relationshipPromises);
463
711
  }
464
- expandRelationshipChange(relationship, change) {
712
+ expandRelationshipChangeDTO(relationship, change) {
465
713
  const date = change.response ? change.response.createdAt : change.request.createdAt;
466
714
  let isOwn = false;
467
715
  if (this.identityController.isMe(transport_1.CoreAddress.from(change.request.createdBy))) {
@@ -495,16 +743,44 @@ let DataViewExpander = class DataViewExpander {
495
743
  response: response
496
744
  });
497
745
  }
498
- async expandRelationshipChanges(relationship) {
499
- const changePromises = relationship.changes.map((change) => this.expandRelationshipChange(relationship, change));
746
+ async expandRelationshipChangeDTOs(relationship) {
747
+ const changePromises = relationship.changes.map((change) => this.expandRelationshipChangeDTO(relationship, change));
500
748
  return await Promise.all(changePromises);
501
749
  }
502
- async createRelationshipDVO(relationship, relationshipInfo) {
503
- // TODO: re-enable when we can query relationship info
504
- // if (!relationshipInfo) {
505
- // const relationshipInfoResult = await this.consumption.relationshipInfo.getRelationshipInfoByRelationship({ relationshipId: relationship.id });
506
- // relationshipInfo = relationshipInfoResult.value;
507
- // }
750
+ async createRelationshipDVO(relationship) {
751
+ let relationshipSetting;
752
+ const settingResult = await this.consumption.settings.getSettings({ query: { reference: relationship.id } });
753
+ if (settingResult.value.length > 0) {
754
+ relationshipSetting = settingResult.value[0].value;
755
+ }
756
+ else {
757
+ relationshipSetting = {
758
+ isPinned: false
759
+ };
760
+ }
761
+ const nameRelevantAttributeTypes = ["DisplayName", "GivenName", "MiddleName", "Surname", "Sex"];
762
+ const stringByType = {};
763
+ const relationshipAttributesResult = await this.consumption.attributes.getPeerAttributes({ onlyValid: true, peer: relationship.peer });
764
+ const expandedAttributes = await this.expandLocalAttributeDTOs(relationshipAttributesResult.value);
765
+ const attributesByType = {};
766
+ for (const attribute of expandedAttributes) {
767
+ const valueType = attribute.content.value["@type"];
768
+ const item = attributesByType[valueType];
769
+ if (item) {
770
+ item.push(attribute);
771
+ }
772
+ else {
773
+ attributesByType[valueType] = [attribute];
774
+ }
775
+ if (nameRelevantAttributeTypes.includes(valueType)) {
776
+ if (stringByType[valueType]) {
777
+ stringByType[valueType] += ` ${attribute.content.value.value}`;
778
+ }
779
+ else {
780
+ stringByType[valueType] = `${attribute.content.value.value}`;
781
+ }
782
+ }
783
+ }
508
784
  let direction = RelationshipDVO_1.RelationshipDirection.Incoming;
509
785
  if (this.identityController.isMe(transport_1.CoreAddress.from(relationship.changes[0].request.createdBy))) {
510
786
  direction = RelationshipDVO_1.RelationshipDirection.Outgoing;
@@ -525,54 +801,54 @@ let DataViewExpander = class DataViewExpander {
525
801
  else if (relationship.status === transport_1.RelationshipStatus.Active) {
526
802
  statusText = DataViewTranslateable_1.DataViewTranslateable.transport.relationshipActive;
527
803
  }
528
- const changes = await this.expandRelationshipChanges(relationship);
804
+ const changes = await this.expandRelationshipChangeDTOs(relationship);
805
+ let name;
806
+ if (stringByType["DisplayName"]) {
807
+ name = stringByType["DisplayName"];
808
+ }
809
+ else if (stringByType["GivenName"] && stringByType["Surname"]) {
810
+ name = `${stringByType["GivenName"]} ${stringByType["Surname"]}`;
811
+ }
812
+ else if (stringByType["Sex"] && stringByType["Surname"]) {
813
+ name = `i18n://dvo.identity.Salutation.${stringByType["Sex"]} ${stringByType["Surname"]}`;
814
+ }
815
+ else {
816
+ name = relationship.peer.substring(3, 9);
817
+ }
529
818
  return {
530
819
  id: relationship.id,
531
- name: relationshipInfo?.userTitle ?? relationshipInfo?.title ?? "",
532
- description: relationshipInfo?.userDescription ?? relationshipInfo?.description ?? "",
820
+ name: relationshipSetting.userTitle ?? name,
821
+ description: relationshipSetting.userDescription ?? statusText,
533
822
  date: relationship.changes[0].request.createdAt,
534
823
  image: "",
535
824
  type: "RelationshipDVO",
536
825
  status: relationship.status,
537
826
  statusText: statusText,
538
827
  direction: direction,
539
- isPinned: relationshipInfo?.isPinned ?? false,
540
- theme: {
541
- image: relationshipInfo?.theme?.image,
542
- headerImage: relationshipInfo?.theme?.imageBar,
543
- backgroundColor: relationshipInfo?.theme?.backgroundColor,
544
- foregroundColor: relationshipInfo?.theme?.foregroundColor
545
- },
828
+ isPinned: relationshipSetting.isPinned,
829
+ attributeMap: attributesByType,
830
+ items: expandedAttributes,
831
+ nameMap: stringByType,
546
832
  changes: changes,
547
833
  changeCount: changes.length
548
834
  };
549
835
  }
550
836
  async expandRelationshipDTO(relationship) {
551
- // TODO: re-enable when we can query relationship info
552
- // const relationshipInfoResult = await this.consumption.relationshipInfo.getRelationshipInfoByRelationship({ relationshipId: relationship.id });
553
- // const relationshipInfo = relationshipInfoResult.value;
554
- // const name = relationshipInfo.userTitle ? relationshipInfo.userTitle : relationshipInfo.title;
555
- // let description = relationshipInfo.userDescription ? relationshipInfo.userDescription : relationshipInfo.description;
556
- const name = "";
557
- const description = "";
558
- const initials = (name.match(/\b\w/g) ?? []).join("");
559
837
  const relationshipDVO = await this.createRelationshipDVO(relationship);
560
- // TODO: re-enable when we can query relationship info
561
- // if (!description) {
562
- // description = relationshipDVO.statusText;
563
- // }
838
+ const initials = (relationshipDVO.name.match(/\b\w/g) ?? []).join("");
564
839
  return {
565
840
  type: "IdentityDVO",
566
841
  id: relationship.peer,
567
- name: name,
842
+ name: relationshipDVO.name,
568
843
  date: relationshipDVO.date,
569
- description: description,
844
+ description: relationshipDVO.description,
570
845
  publicKey: relationship.peerIdentity.publicKey,
571
846
  realm: relationship.peerIdentity.realm,
572
847
  initials,
573
848
  isSelf: false,
574
849
  hasRelationship: true,
575
- relationship: relationshipDVO
850
+ relationship: relationshipDVO,
851
+ items: relationshipDVO.items
576
852
  };
577
853
  }
578
854
  async expandIdentityForAddress(address) {
@@ -602,7 +878,7 @@ let DataViewExpander = class DataViewExpander {
602
878
  hasRelationship: false
603
879
  };
604
880
  }
605
- async expandIdentity(identity) {
881
+ async expandIdentityDTO(identity) {
606
882
  return await this.expandIdentityForAddress(identity.address);
607
883
  }
608
884
  async expandRelationshipDTOs(relationships) {
@@ -630,8 +906,7 @@ let DataViewExpander = class DataViewExpander {
630
906
  image: "",
631
907
  filename: file.filename,
632
908
  filesize: file.filesize,
633
- createdBy: await this.expandAddress(file.createdBy),
634
- deletedBy: file.deletedBy ? await this.expandAddress(file.deletedBy) : undefined
909
+ createdBy: await this.expandAddress(file.createdBy)
635
910
  };
636
911
  }
637
912
  async expandFileDTOs(files) {
@@ -643,8 +918,10 @@ DataViewExpander = __decorate([
643
918
  __param(0, typescript_ioc_1.Inject),
644
919
  __param(1, typescript_ioc_1.Inject),
645
920
  __param(2, typescript_ioc_1.Inject),
921
+ __param(3, typescript_ioc_1.Inject),
646
922
  __metadata("design:paramtypes", [extensibility_1.TransportServices,
647
923
  ConsumptionServices_1.ConsumptionServices,
924
+ consumption_1.ConsumptionController,
648
925
  transport_1.IdentityController])
649
926
  ], DataViewExpander);
650
927
  exports.DataViewExpander = DataViewExpander;