@nmshd/runtime 2.0.0-alpha.8 → 2.0.0-beta.2

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 (349) hide show
  1. package/README.md +2 -2
  2. package/dist/Runtime.js +3 -2
  3. package/dist/Runtime.js.map +1 -1
  4. package/dist/buildInformation.js +5 -5
  5. package/dist/dataViews/DataViewExpander.d.ts +31 -30
  6. package/dist/dataViews/DataViewExpander.js +484 -236
  7. package/dist/dataViews/DataViewExpander.js.map +1 -1
  8. package/dist/dataViews/DataViewObject.d.ts +1 -1
  9. package/dist/dataViews/consumption/DecidableRequestItemDVOs.d.ts +30 -0
  10. package/dist/dataViews/consumption/DecidableRequestItemDVOs.js +3 -0
  11. package/dist/dataViews/consumption/DecidableRequestItemDVOs.js.map +1 -0
  12. package/dist/dataViews/consumption/LocalAttributeDVO.d.ts +81 -0
  13. package/dist/dataViews/consumption/{StoredAttributeDVO.js → LocalAttributeDVO.js} +1 -1
  14. package/dist/dataViews/consumption/LocalAttributeDVO.js.map +1 -0
  15. package/dist/dataViews/consumption/LocalRequestDVO.d.ts +32 -0
  16. package/dist/dataViews/consumption/{MatchedAttributesDVO.js → LocalRequestDVO.js} +1 -1
  17. package/dist/dataViews/consumption/LocalRequestDVO.js.map +1 -0
  18. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.d.ts +18 -0
  19. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.js +3 -0
  20. package/dist/dataViews/consumption/PeerRelationshipTemplateDVO.js.map +1 -0
  21. package/dist/dataViews/consumption/index.d.ts +4 -1
  22. package/dist/dataViews/consumption/index.js +4 -1
  23. package/dist/dataViews/consumption/index.js.map +1 -1
  24. package/dist/dataViews/content/AttributeDVOs.d.ts +37 -0
  25. package/dist/dataViews/content/{AttributeDVO.js → AttributeDVOs.js} +1 -1
  26. package/dist/dataViews/content/AttributeDVOs.js.map +1 -0
  27. package/dist/dataViews/content/MailDVOs.d.ts +4 -5
  28. package/dist/dataViews/content/RequestDVO.d.ts +7 -0
  29. package/dist/dataViews/content/{RequestDVOs.js → RequestDVO.js} +1 -1
  30. package/dist/dataViews/content/RequestDVO.js.map +1 -0
  31. package/dist/dataViews/content/RequestItemDVOs.d.ts +36 -0
  32. package/dist/dataViews/content/RequestItemDVOs.js +3 -0
  33. package/dist/dataViews/content/RequestItemDVOs.js.map +1 -0
  34. package/dist/dataViews/content/index.d.ts +3 -2
  35. package/dist/dataViews/content/index.js +3 -2
  36. package/dist/dataViews/content/index.js.map +1 -1
  37. package/dist/dataViews/transport/FileDVO.d.ts +0 -3
  38. package/dist/dataViews/transport/MessageDVO.d.ts +4 -0
  39. package/dist/dataViews/transport/RelationshipDVO.d.ts +2 -2
  40. package/dist/dataViews/transport/RelationshipTemplateDVO.d.ts +9 -2
  41. package/dist/events/DataEvent.d.ts +1 -1
  42. package/dist/events/DataEvent.js +2 -2
  43. package/dist/events/DataEvent.js.map +1 -1
  44. package/dist/events/consumption/AttributeCreatedEvent.d.ts +6 -0
  45. package/dist/events/consumption/AttributeCreatedEvent.js +12 -0
  46. package/dist/events/consumption/AttributeCreatedEvent.js.map +1 -0
  47. package/dist/events/consumption/AttributeDeletedEvent.d.ts +6 -0
  48. package/dist/events/consumption/AttributeDeletedEvent.js +12 -0
  49. package/dist/events/consumption/AttributeDeletedEvent.js.map +1 -0
  50. package/dist/events/consumption/AttributeSucceededEvent.d.ts +6 -0
  51. package/dist/events/consumption/AttributeSucceededEvent.js +12 -0
  52. package/dist/events/consumption/AttributeSucceededEvent.js.map +1 -0
  53. package/dist/events/consumption/AttributeUpdatedEvent.d.ts +6 -0
  54. package/dist/events/consumption/AttributeUpdatedEvent.js +12 -0
  55. package/dist/events/consumption/AttributeUpdatedEvent.js.map +1 -0
  56. package/dist/events/consumption/IncomingRequestReceivedEvent.d.ts +3 -3
  57. package/dist/events/consumption/IncomingRequestReceivedEvent.js.map +1 -1
  58. package/dist/events/consumption/IncomingRequestStatusChangedEvent.d.ts +5 -5
  59. package/dist/events/consumption/OutgoingRequestCreatedEvent.d.ts +4 -4
  60. package/dist/events/consumption/OutgoingRequestCreatedEvent.js +1 -1
  61. package/dist/events/consumption/OutgoingRequestCreatedEvent.js.map +1 -1
  62. package/dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.d.ts +3 -3
  63. package/dist/events/consumption/OutgoingRequestFromRelationshipCreationChangeCreatedAndCompletedEvent.js.map +1 -1
  64. package/dist/events/consumption/OutgoingRequestStatusChangedEvent.d.ts +5 -5
  65. package/dist/events/consumption/RelationshipEvent.d.ts +1 -1
  66. package/dist/events/consumption/RelationshipEvent.js.map +1 -1
  67. package/dist/events/consumption/SharedAttributeCopyCreatedEvent.d.ts +6 -0
  68. package/dist/events/consumption/SharedAttributeCopyCreatedEvent.js +12 -0
  69. package/dist/events/consumption/SharedAttributeCopyCreatedEvent.js.map +1 -0
  70. package/dist/events/index.d.ts +7 -1
  71. package/dist/events/index.js +7 -1
  72. package/dist/events/index.js.map +1 -1
  73. package/dist/events/runtime/ModulesInitializedEvent.d.ts +1 -1
  74. package/dist/events/runtime/ModulesInitializedEvent.js +2 -2
  75. package/dist/events/runtime/ModulesInitializedEvent.js.map +1 -1
  76. package/dist/events/runtime/ModulesLoadedEvent.d.ts +1 -1
  77. package/dist/events/runtime/ModulesLoadedEvent.js +2 -2
  78. package/dist/events/runtime/ModulesLoadedEvent.js.map +1 -1
  79. package/dist/events/runtime/ModulesStartedEvent.d.ts +1 -1
  80. package/dist/events/runtime/ModulesStartedEvent.js +2 -2
  81. package/dist/events/runtime/ModulesStartedEvent.js.map +1 -1
  82. package/dist/events/runtime/RuntimeInitializedEvent.d.ts +1 -1
  83. package/dist/events/runtime/RuntimeInitializedEvent.js +2 -2
  84. package/dist/events/runtime/RuntimeInitializedEvent.js.map +1 -1
  85. package/dist/events/runtime/RuntimeInitializingEvent.d.ts +1 -1
  86. package/dist/events/runtime/RuntimeInitializingEvent.js +2 -2
  87. package/dist/events/runtime/RuntimeInitializingEvent.js.map +1 -1
  88. package/dist/events/transport/TransportLibraryInitializedEvent.d.ts +1 -1
  89. package/dist/events/transport/TransportLibraryInitializedEvent.js +2 -2
  90. package/dist/events/transport/TransportLibraryInitializedEvent.js.map +1 -1
  91. package/dist/events/transport/TransportLibraryInitializingEvent.d.ts +1 -1
  92. package/dist/events/transport/TransportLibraryInitializingEvent.js +2 -2
  93. package/dist/events/transport/TransportLibraryInitializingEvent.js.map +1 -1
  94. package/dist/extensibility/facades/consumption/AttributesFacade.d.ts +18 -18
  95. package/dist/extensibility/facades/consumption/AttributesFacade.js +23 -23
  96. package/dist/extensibility/facades/consumption/AttributesFacade.js.map +1 -1
  97. package/dist/extensibility/facades/consumption/IncomingRequestsFacade.d.ts +9 -9
  98. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.d.ts +7 -7
  99. package/dist/extensibility/facades/consumption/OutgoingRequestsFacade.js.map +1 -1
  100. package/dist/extensibility/facades/transport/FilesFacade.d.ts +4 -2
  101. package/dist/extensibility/facades/transport/FilesFacade.js +7 -1
  102. package/dist/extensibility/facades/transport/FilesFacade.js.map +1 -1
  103. package/dist/extensibility/facades/transport/MessagesFacade.d.ts +5 -5
  104. package/dist/extensibility/facades/transport/MessagesFacade.js.map +1 -1
  105. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.d.ts +5 -3
  106. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.js +9 -3
  107. package/dist/extensibility/facades/transport/RelationshipTemplatesFacade.js.map +1 -1
  108. package/dist/extensibility/facades/transport/RelationshipsFacade.d.ts +4 -2
  109. package/dist/extensibility/facades/transport/RelationshipsFacade.js +8 -2
  110. package/dist/extensibility/facades/transport/RelationshipsFacade.js.map +1 -1
  111. package/dist/extensibility/modules/RuntimeModule.d.ts +3 -3
  112. package/dist/extensibility/modules/RuntimeModule.js +4 -6
  113. package/dist/extensibility/modules/RuntimeModule.js.map +1 -1
  114. package/dist/modules/DeciderModule.js +1 -1
  115. package/dist/modules/DeciderModule.js.map +1 -1
  116. package/dist/modules/MessageModule.js +2 -11
  117. package/dist/modules/MessageModule.js.map +1 -1
  118. package/dist/modules/RequestModule.d.ts +3 -1
  119. package/dist/modules/RequestModule.js +72 -21
  120. package/dist/modules/RequestModule.js.map +1 -1
  121. package/dist/types/consumption/LocalAttributeDTO.d.ts +10 -0
  122. package/dist/types/consumption/LocalAttributeDTO.js +3 -0
  123. package/dist/types/consumption/LocalAttributeDTO.js.map +1 -0
  124. package/dist/types/consumption/LocalRequestDTO.d.ts +25 -0
  125. package/dist/types/consumption/LocalRequestDTO.js +3 -0
  126. package/dist/types/consumption/LocalRequestDTO.js.map +1 -0
  127. package/dist/types/consumption/index.d.ts +2 -2
  128. package/dist/types/consumption/index.js +2 -2
  129. package/dist/types/consumption/index.js.map +1 -1
  130. package/dist/types/transport/FileDTO.d.ts +1 -3
  131. package/dist/types/transport/MessageDTO.d.ts +0 -1
  132. package/dist/types/transport/MessageWithAttachmentsDTO.d.ts +0 -1
  133. package/dist/types/transport/RecipientDTO.d.ts +1 -0
  134. package/dist/types/transport/RelationshipDTO.d.ts +0 -2
  135. package/dist/types/transport/RelationshipTemplateDTO.d.ts +2 -0
  136. package/dist/useCases/common/Base64ForIdPrefix.d.ts +5 -0
  137. package/dist/useCases/common/Base64ForIdPrefix.js +13 -0
  138. package/dist/useCases/common/Base64ForIdPrefix.js.map +1 -0
  139. package/dist/useCases/common/QRCode.d.ts +4 -1
  140. package/dist/useCases/common/QRCode.js +5 -2
  141. package/dist/useCases/common/QRCode.js.map +1 -1
  142. package/dist/useCases/common/RuntimeErrors.d.ts +6 -0
  143. package/dist/useCases/common/RuntimeErrors.js +14 -1
  144. package/dist/useCases/common/RuntimeErrors.js.map +1 -1
  145. package/dist/useCases/common/Schemas.d.ts +10 -4
  146. package/dist/useCases/common/Schemas.js +4529 -915
  147. package/dist/useCases/common/Schemas.js.map +1 -1
  148. package/dist/useCases/common/index.d.ts +1 -0
  149. package/dist/useCases/common/index.js +1 -0
  150. package/dist/useCases/common/index.js.map +1 -1
  151. package/dist/useCases/consumption/attributes/AttributeMapper.d.ts +4 -6
  152. package/dist/useCases/consumption/attributes/AttributeMapper.js +4 -8
  153. package/dist/useCases/consumption/attributes/AttributeMapper.js.map +1 -1
  154. package/dist/useCases/consumption/attributes/CreateAttribute.d.ts +14 -12
  155. package/dist/useCases/consumption/attributes/CreateAttribute.js +25 -12
  156. package/dist/useCases/consumption/attributes/CreateAttribute.js.map +1 -1
  157. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.d.ts +31 -0
  158. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js +66 -0
  159. package/dist/useCases/consumption/attributes/CreateSharedAttributeCopy.js.map +1 -0
  160. package/dist/useCases/consumption/attributes/DeleteAttribute.d.ts +12 -7
  161. package/dist/useCases/consumption/attributes/DeleteAttribute.js +22 -10
  162. package/dist/useCases/consumption/attributes/DeleteAttribute.js.map +1 -1
  163. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.d.ts +13 -0
  164. package/dist/useCases/consumption/attributes/{GetAllValid.js → ExecuteIdentityAttributeQuery.js} +10 -9
  165. package/dist/useCases/consumption/attributes/ExecuteIdentityAttributeQuery.js.map +1 -0
  166. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.d.ts +13 -0
  167. package/dist/useCases/consumption/attributes/{GetAttributesByNames.js → ExecuteRelationshipAttributeQuery.js} +12 -17
  168. package/dist/useCases/consumption/attributes/ExecuteRelationshipAttributeQuery.js.map +1 -0
  169. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.d.ts +10 -0
  170. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.js +3 -0
  171. package/dist/useCases/consumption/attributes/ExtendedAttributeValue.js.map +1 -0
  172. package/dist/useCases/consumption/attributes/GetAttribute.d.ts +11 -8
  173. package/dist/useCases/consumption/attributes/GetAttribute.js +10 -7
  174. package/dist/useCases/consumption/attributes/GetAttribute.js.map +1 -1
  175. package/dist/useCases/consumption/attributes/GetAttributes.d.ts +27 -9
  176. package/dist/useCases/consumption/attributes/GetAttributes.js +118 -13
  177. package/dist/useCases/consumption/attributes/GetAttributes.js.map +1 -1
  178. package/dist/useCases/consumption/attributes/GetPeerAttributes.d.ts +27 -0
  179. package/dist/useCases/consumption/attributes/{GetHistoryByName.js → GetPeerAttributes.js} +20 -19
  180. package/dist/useCases/consumption/attributes/GetPeerAttributes.js.map +1 -0
  181. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.d.ts +30 -0
  182. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js +52 -0
  183. package/dist/useCases/consumption/attributes/GetSharedToPeerAttributes.js.map +1 -0
  184. package/dist/useCases/consumption/attributes/SucceedAttribute.d.ts +18 -13
  185. package/dist/useCases/consumption/attributes/SucceedAttribute.js +26 -13
  186. package/dist/useCases/consumption/attributes/SucceedAttribute.js.map +1 -1
  187. package/dist/useCases/consumption/attributes/UpdateAttribute.d.ts +17 -12
  188. package/dist/useCases/consumption/attributes/UpdateAttribute.js +26 -18
  189. package/dist/useCases/consumption/attributes/UpdateAttribute.js.map +1 -1
  190. package/dist/useCases/consumption/attributes/index.d.ts +5 -5
  191. package/dist/useCases/consumption/attributes/index.js +5 -5
  192. package/dist/useCases/consumption/attributes/index.js.map +1 -1
  193. package/dist/useCases/consumption/drafts/GetDrafts.d.ts +6 -1
  194. package/dist/useCases/consumption/drafts/GetDrafts.js.map +1 -1
  195. package/dist/useCases/consumption/requests/AcceptIncomingRequest.d.ts +3 -3
  196. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js +8 -8
  197. package/dist/useCases/consumption/requests/AcceptIncomingRequest.js.map +1 -1
  198. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js +2 -2
  199. package/dist/useCases/consumption/requests/CanCreateOutgoingRequest.js.map +1 -1
  200. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.d.ts +4 -4
  201. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js +6 -6
  202. package/dist/useCases/consumption/requests/CheckPrerequisitesOfIncomingRequest.js.map +1 -1
  203. package/dist/useCases/consumption/requests/CompleteIncomingRequest.d.ts +4 -4
  204. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js +6 -6
  205. package/dist/useCases/consumption/requests/CompleteIncomingRequest.js.map +1 -1
  206. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.d.ts +3 -7
  207. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js +6 -6
  208. package/dist/useCases/consumption/requests/CompleteOutgoingRequest.js.map +1 -1
  209. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.d.ts +3 -3
  210. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js +5 -5
  211. package/dist/useCases/consumption/requests/CreateAndCompleteOutgoingRequestFromRelationshipCreationChange.js.map +1 -1
  212. package/dist/useCases/consumption/requests/CreateOutgoingRequest.d.ts +3 -3
  213. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js +2 -2
  214. package/dist/useCases/consumption/requests/CreateOutgoingRequest.js.map +1 -1
  215. package/dist/useCases/consumption/requests/GetIncomingRequest.d.ts +4 -4
  216. package/dist/useCases/consumption/requests/GetIncomingRequest.js +4 -4
  217. package/dist/useCases/consumption/requests/GetIncomingRequest.js.map +1 -1
  218. package/dist/useCases/consumption/requests/GetIncomingRequests.d.ts +19 -36
  219. package/dist/useCases/consumption/requests/GetIncomingRequests.js +2 -2
  220. package/dist/useCases/consumption/requests/GetIncomingRequests.js.map +1 -1
  221. package/dist/useCases/consumption/requests/GetOutgoingRequest.d.ts +4 -4
  222. package/dist/useCases/consumption/requests/GetOutgoingRequest.js +4 -4
  223. package/dist/useCases/consumption/requests/GetOutgoingRequest.js.map +1 -1
  224. package/dist/useCases/consumption/requests/GetOutgoingRequests.d.ts +17 -34
  225. package/dist/useCases/consumption/requests/GetOutgoingRequests.js +2 -2
  226. package/dist/useCases/consumption/requests/GetOutgoingRequests.js.map +1 -1
  227. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.d.ts +4 -4
  228. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js +4 -4
  229. package/dist/useCases/consumption/requests/ReceivedIncomingRequest.js.map +1 -1
  230. package/dist/useCases/consumption/requests/RejectIncomingRequest.d.ts +3 -3
  231. package/dist/useCases/consumption/requests/RejectIncomingRequest.js +8 -8
  232. package/dist/useCases/consumption/requests/RejectIncomingRequest.js.map +1 -1
  233. package/dist/useCases/consumption/requests/RequestMapper.d.ts +4 -4
  234. package/dist/useCases/consumption/requests/RequestMapper.js +3 -3
  235. package/dist/useCases/consumption/requests/RequestMapper.js.map +1 -1
  236. package/dist/useCases/consumption/requests/RequestValidationResultMapper.js +2 -2
  237. package/dist/useCases/consumption/requests/RequestValidationResultMapper.js.map +1 -1
  238. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.d.ts +4 -4
  239. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js +5 -5
  240. package/dist/useCases/consumption/requests/RequireManualDecisionOfIncomingRequest.js.map +1 -1
  241. package/dist/useCases/consumption/requests/SentOutgoingRequest.d.ts +4 -4
  242. package/dist/useCases/consumption/requests/SentOutgoingRequest.js +3 -3
  243. package/dist/useCases/consumption/requests/SentOutgoingRequest.js.map +1 -1
  244. package/dist/useCases/consumption/settings/GetSettings.d.ts +9 -1
  245. package/dist/useCases/consumption/settings/GetSettings.js +0 -1
  246. package/dist/useCases/consumption/settings/GetSettings.js.map +1 -1
  247. package/dist/useCases/transport/challenges/CreateChallenge.d.ts +1 -1
  248. package/dist/useCases/transport/challenges/{ValidateChallange.d.ts → ValidateChallenge.d.ts} +0 -0
  249. package/dist/useCases/transport/challenges/{ValidateChallange.js → ValidateChallenge.js} +1 -1
  250. package/dist/useCases/transport/challenges/{ValidateChallange.js.map → ValidateChallenge.js.map} +1 -1
  251. package/dist/useCases/transport/challenges/index.d.ts +1 -1
  252. package/dist/useCases/transport/challenges/index.js +1 -1
  253. package/dist/useCases/transport/files/CreateQrCodeForFile.d.ts +21 -0
  254. package/dist/useCases/{consumption/attributes/GetAttributeByName.js → transport/files/CreateQrCodeForFile.js} +23 -21
  255. package/dist/useCases/transport/files/CreateQrCodeForFile.js.map +1 -0
  256. package/dist/useCases/transport/files/CreateTokenForFile.d.ts +1 -1
  257. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.d.ts +1 -1
  258. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js +1 -1
  259. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
  260. package/dist/useCases/transport/files/DownloadFile.d.ts +1 -1
  261. package/dist/useCases/transport/files/FileMapper.js +1 -3
  262. package/dist/useCases/transport/files/FileMapper.js.map +1 -1
  263. package/dist/useCases/transport/files/GetFile.d.ts +1 -1
  264. package/dist/useCases/transport/files/GetFiles.d.ts +13 -1
  265. package/dist/useCases/transport/files/GetFiles.js +0 -6
  266. package/dist/useCases/transport/files/GetFiles.js.map +1 -1
  267. package/dist/useCases/transport/files/LoadPeerFile.d.ts +7 -5
  268. package/dist/useCases/transport/files/LoadPeerFile.js +19 -6
  269. package/dist/useCases/transport/files/LoadPeerFile.js.map +1 -1
  270. package/dist/useCases/transport/files/index.d.ts +1 -0
  271. package/dist/useCases/transport/files/index.js +1 -0
  272. package/dist/useCases/transport/files/index.js.map +1 -1
  273. package/dist/useCases/transport/messages/GetMessages.d.ts +12 -0
  274. package/dist/useCases/transport/messages/GetMessages.js +13 -10
  275. package/dist/useCases/transport/messages/GetMessages.js.map +1 -1
  276. package/dist/useCases/transport/messages/MessageMapper.js +5 -6
  277. package/dist/useCases/transport/messages/MessageMapper.js.map +1 -1
  278. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.d.ts +5 -0
  279. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js +4 -0
  280. package/dist/useCases/transport/relationshipTemplates/CreateOwnRelationshipTemplate.js.map +1 -1
  281. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.d.ts +18 -0
  282. package/dist/useCases/{consumption/attributes/DeleteAttributeByName.js → transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js} +19 -22
  283. package/dist/useCases/transport/relationshipTemplates/CreateQrCodeForOwnRelationshipTemplate.js.map +1 -0
  284. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js +1 -1
  285. package/dist/useCases/transport/relationshipTemplates/CreateTokenQrCodeForOwnRelationshipTemplate.js.map +1 -1
  286. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.d.ts +9 -0
  287. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js +2 -0
  288. package/dist/useCases/transport/relationshipTemplates/GetRelationshipTemplates.js.map +1 -1
  289. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.d.ts +30 -13
  290. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js +52 -34
  291. package/dist/useCases/transport/relationshipTemplates/LoadPeerRelationshipTemplate.js.map +1 -1
  292. package/dist/useCases/transport/relationshipTemplates/RelationshipTemplateMapper.js +3 -1
  293. package/dist/useCases/transport/relationshipTemplates/RelationshipTemplateMapper.js.map +1 -1
  294. package/dist/useCases/transport/relationshipTemplates/index.d.ts +1 -0
  295. package/dist/useCases/transport/relationshipTemplates/index.js +1 -0
  296. package/dist/useCases/transport/relationshipTemplates/index.js.map +1 -1
  297. package/dist/useCases/transport/relationships/GetAttributesForRelationship.d.ts +20 -0
  298. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js +65 -0
  299. package/dist/useCases/transport/relationships/GetAttributesForRelationship.js.map +1 -0
  300. package/dist/useCases/transport/relationships/GetRelationships.d.ts +6 -1
  301. package/dist/useCases/transport/relationships/GetRelationships.js +0 -5
  302. package/dist/useCases/transport/relationships/GetRelationships.js.map +1 -1
  303. package/dist/useCases/transport/relationships/RelationshipMapper.js +1 -3
  304. package/dist/useCases/transport/relationships/RelationshipMapper.js.map +1 -1
  305. package/dist/useCases/transport/relationships/index.d.ts +1 -0
  306. package/dist/useCases/transport/relationships/index.js +1 -0
  307. package/dist/useCases/transport/relationships/index.js.map +1 -1
  308. package/dist/useCases/transport/tokens/GetQRCodeForToken.js +1 -1
  309. package/dist/useCases/transport/tokens/GetQRCodeForToken.js.map +1 -1
  310. package/dist/useCases/transport/tokens/GetTokens.d.ts +7 -1
  311. package/dist/useCases/transport/tokens/GetTokens.js.map +1 -1
  312. package/lib-web/nmshd.runtime.js +8581 -5070
  313. package/lib-web/nmshd.runtime.js.map +1 -1
  314. package/lib-web/nmshd.runtime.min.js +3 -3
  315. package/lib-web/nmshd.runtime.min.js.map +1 -1
  316. package/package.json +22 -25
  317. package/dist/dataViews/consumption/MatchedAttributesDVO.d.ts +0 -8
  318. package/dist/dataViews/consumption/MatchedAttributesDVO.js.map +0 -1
  319. package/dist/dataViews/consumption/StoredAttributeDVO.d.ts +0 -6
  320. package/dist/dataViews/consumption/StoredAttributeDVO.js.map +0 -1
  321. package/dist/dataViews/content/AttributeDVO.d.ts +0 -14
  322. package/dist/dataViews/content/AttributeDVO.js.map +0 -1
  323. package/dist/dataViews/content/RequestDVOs.d.ts +0 -66
  324. package/dist/dataViews/content/RequestDVOs.js.map +0 -1
  325. package/dist/events/Event.d.ts +0 -4
  326. package/dist/events/Event.js +0 -10
  327. package/dist/events/Event.js.map +0 -1
  328. package/dist/events/consumption/RequestMailReceivedEvent.d.ts +0 -8
  329. package/dist/events/consumption/RequestMailReceivedEvent.js +0 -13
  330. package/dist/events/consumption/RequestMailReceivedEvent.js.map +0 -1
  331. package/dist/events/transport/MessageDeliveredEvent.d.ts +0 -6
  332. package/dist/events/transport/MessageDeliveredEvent.js +0 -12
  333. package/dist/events/transport/MessageDeliveredEvent.js.map +0 -1
  334. package/dist/types/consumption/ConsumptionAttributeDTO.d.ts +0 -6
  335. package/dist/types/consumption/ConsumptionAttributeDTO.js +0 -3
  336. package/dist/types/consumption/ConsumptionAttributeDTO.js.map +0 -1
  337. package/dist/types/consumption/ConsumptionRequestDTO.d.ts +0 -25
  338. package/dist/types/consumption/ConsumptionRequestDTO.js +0 -3
  339. package/dist/types/consumption/ConsumptionRequestDTO.js.map +0 -1
  340. package/dist/useCases/consumption/attributes/DeleteAttributeByName.d.ts +0 -17
  341. package/dist/useCases/consumption/attributes/DeleteAttributeByName.js.map +0 -1
  342. package/dist/useCases/consumption/attributes/GetAllValid.d.ts +0 -9
  343. package/dist/useCases/consumption/attributes/GetAllValid.js.map +0 -1
  344. package/dist/useCases/consumption/attributes/GetAttributeByName.d.ts +0 -16
  345. package/dist/useCases/consumption/attributes/GetAttributeByName.js.map +0 -1
  346. package/dist/useCases/consumption/attributes/GetAttributesByNames.d.ts +0 -16
  347. package/dist/useCases/consumption/attributes/GetAttributesByNames.js.map +0 -1
  348. package/dist/useCases/consumption/attributes/GetHistoryByName.d.ts +0 -16
  349. 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,498 @@ 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 (isDecidable) {
351
+ return {
352
+ ...proposeAttributeRequestItem,
353
+ type: "DecidableProposeAttributeRequestItemDVO",
354
+ id: "",
355
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
356
+ attribute: await this.expandAttribute(proposeAttributeRequestItem.attribute),
357
+ query: await this.processIdentityAttributeQuery(proposeAttributeRequestItem.query),
358
+ isDecidable
359
+ };
360
+ }
361
+ return {
362
+ ...proposeAttributeRequestItem,
363
+ type: "ProposeAttributeRequestItemDVO",
364
+ id: "",
365
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
366
+ attribute: await this.expandAttribute(proposeAttributeRequestItem.attribute),
367
+ query: this.expandIdentityAttributeQuery(proposeAttributeRequestItem.query),
368
+ isDecidable
369
+ };
370
+ case "ShareAttributeRequestItem":
371
+ 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);
376
+ if (isDecidable) {
377
+ return {
378
+ ...shareAttributeRequestItem,
379
+ type: "DecidableShareAttributeRequestItemDVO",
380
+ id: "",
381
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
382
+ attribute: attributeDVO,
383
+ shareWith,
384
+ isDecidable
385
+ };
386
+ }
387
+ return {
388
+ ...shareAttributeRequestItem,
389
+ type: "ShareAttributeRequestItemDVO",
390
+ id: "",
391
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.ProposeAttributeRequestItem.name",
392
+ attribute: attributeDVO,
393
+ shareWith,
394
+ isDecidable
395
+ };
396
+ default:
397
+ return {
398
+ ...requestItem,
399
+ type: "RequestItemDVO",
400
+ id: "",
401
+ name: requestItem.title ? requestItem.title : "i18n://dvo.requestItem.name",
402
+ isDecidable
403
+ };
240
404
  }
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 = [];
405
+ }
406
+ async expandRequestGroupOrItem(requestGroupOrItem, localRequestDTO) {
407
+ if (requestGroupOrItem["@type"] === "RequestItemGroup") {
408
+ let isDecidable = false;
409
+ if (localRequestDTO && !localRequestDTO.isOwn && (localRequestDTO.status === "DecisionRequired" || localRequestDTO.status === "ManualDecisionRequired")) {
410
+ isDecidable = true;
249
411
  }
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 = [];
412
+ const group = requestGroupOrItem;
413
+ const itemDVOs = [];
414
+ for (const requestItem of group.items) {
415
+ itemDVOs.push(await this.expandRequestItem(requestItem, localRequestDTO));
260
416
  }
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;
417
+ return {
418
+ type: "RequestItemGroupDVO",
419
+ items: itemDVOs,
420
+ isDecidable,
421
+ title: requestGroupOrItem.title,
422
+ description: requestGroupOrItem.description,
423
+ mustBeAccepted: requestGroupOrItem.mustBeAccepted
424
+ };
271
425
  }
272
- else {
273
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesShareRequestName;
426
+ return await this.expandRequestItem(requestGroupOrItem, localRequestDTO);
427
+ }
428
+ async expandLocalRequestDTO(request) {
429
+ const requestDVO = await this.expandRequest(request.content, request);
430
+ const peerDVO = await this.expandAddress(request.peer);
431
+ let isDecidable = false;
432
+ if (!request.isOwn && (request.status === "DecisionRequired" || request.status === "ManualDecisionRequired")) {
433
+ isDecidable = true;
274
434
  }
275
435
  return {
276
436
  ...request,
277
- name,
278
- type: "AttributesShareRequestDVO",
279
- attributes: attributesObjects,
280
- attributeCount: attributesObjects.length,
281
- recipients: recipientObjects,
282
- recipientCount: recipientObjects.length,
283
- possibleRecipientCount
437
+ id: request.id,
438
+ content: requestDVO,
439
+ items: requestDVO.items,
440
+ name: "i18n://dvo.localRequest.name",
441
+ type: "LocalRequestDVO",
442
+ date: request.createdAt,
443
+ createdBy: request.isOwn ? this.expandSelf() : peerDVO,
444
+ decider: request.isOwn ? peerDVO : this.expandSelf(),
445
+ peer: peerDVO,
446
+ response: request.response ? this.expandLocalResponseDTO(request.response) : undefined,
447
+ statusText: `i18n://dvo.localRequest.status.${request.status}`,
448
+ isDecidable
449
+ };
450
+ }
451
+ expandLocalResponseDTO(response) {
452
+ return {
453
+ ...response,
454
+ id: "",
455
+ name: "i18n://dvo.localResponse.name",
456
+ type: "LocalResponseDVO",
457
+ date: response.createdAt
284
458
  };
285
459
  }
286
- expandConsumptionAttribute(attribute) {
460
+ async expandLocalAttributeDTO(attribute) {
461
+ const valueType = attribute.content.value["@type"];
462
+ const localAttribute = await this.consumptionController.attributes.getLocalAttribute(transport_1.CoreId.from(attribute.id));
463
+ if (!localAttribute) {
464
+ throw new Error("Attribute not found");
465
+ }
466
+ const owner = await this.expandAddress(attribute.content.owner);
467
+ let name = `i18n://dvo.attribute.name.${valueType}`;
468
+ let description = `i18n://dvo.attribute.description.${valueType}`;
469
+ if (localAttribute.content instanceof content_1.RelationshipAttribute) {
470
+ name = "";
471
+ description = "";
472
+ }
473
+ const renderHints = localAttribute.content.value.renderHints.toJSON();
474
+ const valueHints = localAttribute.content.value.valueHints.toJSON();
475
+ if (localAttribute.shareInfo) {
476
+ const peer = await this.expandAddress(localAttribute.shareInfo.peer.toString());
477
+ if (localAttribute.shareInfo.sourceAttribute) {
478
+ // Own Shared Attribute
479
+ return {
480
+ type: "SharedToPeerAttributeDVO",
481
+ id: attribute.id,
482
+ name,
483
+ description,
484
+ content: attribute.content,
485
+ value: attribute.content.value,
486
+ date: attribute.createdAt,
487
+ owner: owner,
488
+ renderHints,
489
+ valueHints,
490
+ isValid: true,
491
+ createdAt: attribute.createdAt,
492
+ isOwn: true,
493
+ peer: peer,
494
+ isDraft: false,
495
+ requestReference: localAttribute.shareInfo.requestReference.toString(),
496
+ sourceAttribute: localAttribute.shareInfo.sourceAttribute.toString(),
497
+ tags: []
498
+ };
499
+ }
500
+ // Peer Attribute
501
+ return {
502
+ type: "PeerAttributeDVO",
503
+ id: attribute.id,
504
+ name,
505
+ description,
506
+ content: attribute.content,
507
+ value: attribute.content.value,
508
+ date: attribute.createdAt,
509
+ owner: owner,
510
+ renderHints,
511
+ valueHints,
512
+ isValid: true,
513
+ createdAt: attribute.createdAt,
514
+ isOwn: false,
515
+ peer: peer,
516
+ isDraft: false,
517
+ requestReference: localAttribute.shareInfo.requestReference.toString(),
518
+ tags: []
519
+ };
520
+ }
521
+ const sharedToPeerAttributes = await this.consumption.attributes.getAttributes({ query: { "shareInfo.sourceAttribute": attribute.id } });
522
+ const sharedToPeerDVOs = await this.expandLocalAttributeDTOs(sharedToPeerAttributes.value);
523
+ // Own Source Attribute
287
524
  return {
288
- type: "StoredAttributeDVO",
525
+ type: "RepositoryAttributeDVO",
289
526
  id: attribute.id,
290
- name: attribute.content.name,
527
+ name,
528
+ description,
529
+ content: attribute.content,
291
530
  value: attribute.content.value,
292
531
  date: attribute.createdAt,
532
+ owner: owner,
533
+ renderHints,
534
+ valueHints,
535
+ isValid: true,
536
+ createdAt: attribute.createdAt,
293
537
  isOwn: true,
294
- sharedItems: [],
295
- sharedItemCount: 0
538
+ isDraft: false,
539
+ sharedWith: sharedToPeerDVOs,
540
+ tags: []
296
541
  };
297
542
  }
298
- async expandConsumptionAttributes(attributes) {
299
- const attributesPromise = attributes.map((attribute) => this.expandConsumptionAttribute(attribute));
543
+ async expandLocalAttributeDTOs(attributes) {
544
+ const attributesPromise = attributes.map((attribute) => this.expandLocalAttributeDTO(attribute));
300
545
  return await Promise.all(attributesPromise);
301
546
  }
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)];
547
+ expandIdentityAttributeQuery(query) {
548
+ const valueType = query.valueType;
549
+ const name = `i18n://dvo.attribute.name.${valueType}`;
550
+ 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
563
+ };
564
+ if (valueTypeClass.renderHints && valueTypeClass.renderHints instanceof content_1.RenderHints) {
565
+ renderHints = valueTypeClass.renderHints.toJSON();
307
566
  }
308
- let bestMatch;
309
- if (matchedAttributes.length > 0) {
310
- bestMatch = matchedAttributes[0];
567
+ if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
568
+ valueHints = valueTypeClass.valueHints.toJSON();
311
569
  }
312
570
  return {
313
- type: "MatchedAttributesDVO",
314
- id: name,
315
- name: name,
316
- matches: matchedAttributes,
317
- matchCount: matchedAttributes.length,
318
- bestMatch: bestMatch
571
+ type: "IdentityAttributeQueryDVO",
572
+ id: "",
573
+ name,
574
+ description,
575
+ valueType,
576
+ validFrom: query.validFrom,
577
+ validTo: query.validTo,
578
+ renderHints,
579
+ valueHints,
580
+ isProcessed: false
319
581
  };
320
582
  }
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
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}`;
591
+ const valueTypeClass = ts_serval_1.SerializableBase.getModule(valueType, 1);
592
+ if (!valueTypeClass) {
593
+ throw new Error(`No class implementation found for ${valueType}`);
594
+ }
595
+ let renderHints = {
596
+ "@type": "RenderHints",
597
+ editType: content_1.RenderHintsEditType.InputLike,
598
+ technicalType: content_1.RenderHintsTechnicalType.String
332
599
  };
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);
600
+ let valueHints = {
601
+ "@type": "ValueHints",
602
+ max: 200
603
+ };
604
+ if (valueTypeClass.renderHints && valueTypeClass.renderHints instanceof content_1.RenderHints) {
605
+ renderHints = valueTypeClass.renderHints.toJSON();
352
606
  }
353
- const oldAttributesObjects = await this.expandAttributeNames(attributesObjects.map((item) => item.id));
354
- if (attributesObjects.length > 1) {
355
- name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestNamePlural;
607
+ if (valueTypeClass.valueHints && valueTypeClass.valueHints instanceof content_1.ValueHints) {
608
+ valueHints = valueTypeClass.valueHints.toJSON();
356
609
  }
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
610
  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
611
+ type: "ProcessedIdentityAttributeQueryDVO",
612
+ id: "",
613
+ name,
614
+ description,
615
+ valueType,
616
+ validFrom: query.validFrom,
617
+ validTo: query.validTo,
618
+ results: matchedAttributeDVOs,
619
+ renderHints,
620
+ valueHints,
621
+ isProcessed: true
378
622
  };
379
623
  }
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
- }
624
+ async expandAttribute(attribute) {
625
+ const attributeInstance = ts_serval_1.Serializable.fromAny(attribute);
626
+ const valueType = attribute.value["@type"];
627
+ let name = `i18n://dvo.attribute.name.${valueType}`;
628
+ let description = `i18n://dvo.attribute.description.${valueType}`;
629
+ const renderHints = attributeInstance.value.renderHints.toJSON();
630
+ const valueHints = attributeInstance.value.valueHints.toJSON();
631
+ if (attributeInstance instanceof content_1.RelationshipAttribute) {
632
+ name = ""; // attributeInstance.value.title;
633
+ description = ""; // attributeInstance.value.description;
634
+ }
635
+ const owner = await this.expandAddress(attribute.owner);
390
636
  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
637
+ type: "DraftAttributeDVO",
638
+ content: attribute,
639
+ name,
640
+ description,
641
+ id: "",
642
+ owner: owner,
643
+ renderHints,
644
+ valueHints,
645
+ value: attribute.value,
646
+ isDraft: true,
647
+ isOwn: owner.isSelf
399
648
  };
400
649
  }
650
+ async expandAttributes(attributes) {
651
+ const attributesPromise = attributes.map((attribute) => this.expandAttribute(attribute));
652
+ return await Promise.all(attributesPromise);
653
+ }
401
654
  expandSelf() {
402
655
  const name = "i18n://dvo.identity.self.name";
403
656
  const initials = "i18n://dvo.identity.self.initials";
@@ -416,7 +669,7 @@ let DataViewExpander = class DataViewExpander {
416
669
  const name = address.substring(3, 9);
417
670
  const initials = (name.match(/\b\w/g) ?? []).join("");
418
671
  return {
419
- id: this.identityController.address.toString(),
672
+ id: address,
420
673
  type: "IdentityDVO",
421
674
  name: name,
422
675
  initials: initials,
@@ -426,14 +679,6 @@ let DataViewExpander = class DataViewExpander {
426
679
  hasRelationship: false
427
680
  };
428
681
  }
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
682
  async expandAddress(address) {
438
683
  if (this.identityController.isMe(transport_1.CoreAddress.from(address))) {
439
684
  return this.expandSelf();
@@ -448,7 +693,7 @@ let DataViewExpander = class DataViewExpander {
448
693
  const relationshipPromises = addresses.map((address) => this.expandAddress(address));
449
694
  return await Promise.all(relationshipPromises);
450
695
  }
451
- async expandRecipient(recipient) {
696
+ async expandRecipientDTO(recipient) {
452
697
  const identity = await this.expandAddress(recipient.address);
453
698
  return {
454
699
  ...identity,
@@ -457,11 +702,11 @@ let DataViewExpander = class DataViewExpander {
457
702
  receivedByDevice: recipient.receivedByDevice
458
703
  };
459
704
  }
460
- async expandRecipients(recipients) {
461
- const relationshipPromises = recipients.map((recipient) => this.expandRecipient(recipient));
705
+ async expandRecipientDTOs(recipients) {
706
+ const relationshipPromises = recipients.map((recipient) => this.expandRecipientDTO(recipient));
462
707
  return await Promise.all(relationshipPromises);
463
708
  }
464
- expandRelationshipChange(relationship, change) {
709
+ expandRelationshipChangeDTO(relationship, change) {
465
710
  const date = change.response ? change.response.createdAt : change.request.createdAt;
466
711
  let isOwn = false;
467
712
  if (this.identityController.isMe(transport_1.CoreAddress.from(change.request.createdBy))) {
@@ -495,8 +740,8 @@ let DataViewExpander = class DataViewExpander {
495
740
  response: response
496
741
  });
497
742
  }
498
- async expandRelationshipChanges(relationship) {
499
- const changePromises = relationship.changes.map((change) => this.expandRelationshipChange(relationship, change));
743
+ async expandRelationshipChangeDTOs(relationship) {
744
+ const changePromises = relationship.changes.map((change) => this.expandRelationshipChangeDTO(relationship, change));
500
745
  return await Promise.all(changePromises);
501
746
  }
502
747
  async createRelationshipDVO(relationship, relationshipInfo) {
@@ -525,7 +770,7 @@ let DataViewExpander = class DataViewExpander {
525
770
  else if (relationship.status === transport_1.RelationshipStatus.Active) {
526
771
  statusText = DataViewTranslateable_1.DataViewTranslateable.transport.relationshipActive;
527
772
  }
528
- const changes = await this.expandRelationshipChanges(relationship);
773
+ const changes = await this.expandRelationshipChangeDTOs(relationship);
529
774
  return {
530
775
  id: relationship.id,
531
776
  name: relationshipInfo?.userTitle ?? relationshipInfo?.title ?? "",
@@ -553,14 +798,16 @@ let DataViewExpander = class DataViewExpander {
553
798
  // const relationshipInfo = relationshipInfoResult.value;
554
799
  // const name = relationshipInfo.userTitle ? relationshipInfo.userTitle : relationshipInfo.title;
555
800
  // let description = relationshipInfo.userDescription ? relationshipInfo.userDescription : relationshipInfo.description;
556
- const name = "";
557
- const description = "";
801
+ const name = relationship.peer.substring(3, 9);
558
802
  const initials = (name.match(/\b\w/g) ?? []).join("");
559
803
  const relationshipDVO = await this.createRelationshipDVO(relationship);
804
+ const description = relationshipDVO.statusText;
560
805
  // TODO: re-enable when we can query relationship info
561
- // if (!description) {
562
- // description = relationshipDVO.statusText;
563
- // }
806
+ /*
807
+ if (!description) {
808
+ description = relationshipDVO.statusText;
809
+ }
810
+ */
564
811
  return {
565
812
  type: "IdentityDVO",
566
813
  id: relationship.peer,
@@ -602,7 +849,7 @@ let DataViewExpander = class DataViewExpander {
602
849
  hasRelationship: false
603
850
  };
604
851
  }
605
- async expandIdentity(identity) {
852
+ async expandIdentityDTO(identity) {
606
853
  return await this.expandIdentityForAddress(identity.address);
607
854
  }
608
855
  async expandRelationshipDTOs(relationships) {
@@ -630,8 +877,7 @@ let DataViewExpander = class DataViewExpander {
630
877
  image: "",
631
878
  filename: file.filename,
632
879
  filesize: file.filesize,
633
- createdBy: await this.expandAddress(file.createdBy),
634
- deletedBy: file.deletedBy ? await this.expandAddress(file.deletedBy) : undefined
880
+ createdBy: await this.expandAddress(file.createdBy)
635
881
  };
636
882
  }
637
883
  async expandFileDTOs(files) {
@@ -643,8 +889,10 @@ DataViewExpander = __decorate([
643
889
  __param(0, typescript_ioc_1.Inject),
644
890
  __param(1, typescript_ioc_1.Inject),
645
891
  __param(2, typescript_ioc_1.Inject),
892
+ __param(3, typescript_ioc_1.Inject),
646
893
  __metadata("design:paramtypes", [extensibility_1.TransportServices,
647
894
  ConsumptionServices_1.ConsumptionServices,
895
+ consumption_1.ConsumptionController,
648
896
  transport_1.IdentityController])
649
897
  ], DataViewExpander);
650
898
  exports.DataViewExpander = DataViewExpander;