@nmshd/runtime 1.2.1 → 1.2.5

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 (117) hide show
  1. package/dist/Runtime.js +0 -3
  2. package/dist/Runtime.js.map +1 -1
  3. package/dist/buildInformation.js +5 -5
  4. package/dist/dataViews/DataViewExpander.d.ts +26 -20
  5. package/dist/dataViews/DataViewExpander.js +259 -147
  6. package/dist/dataViews/DataViewExpander.js.map +1 -1
  7. package/dist/dataViews/DataViewTranslateable.d.ts +4 -0
  8. package/dist/dataViews/DataViewTranslateable.js +5 -1
  9. package/dist/dataViews/DataViewTranslateable.js.map +1 -1
  10. package/dist/dataViews/consumption/MatchedAttributesDVO.d.ts +7 -0
  11. package/dist/dataViews/consumption/MatchedAttributesDVO.js +3 -0
  12. package/dist/dataViews/consumption/MatchedAttributesDVO.js.map +1 -0
  13. package/dist/dataViews/consumption/StoredAttributeDVO.d.ts +5 -0
  14. package/dist/dataViews/consumption/StoredAttributeDVO.js +3 -0
  15. package/dist/dataViews/consumption/StoredAttributeDVO.js.map +1 -0
  16. package/dist/dataViews/consumption/index.d.ts +1 -5
  17. package/dist/dataViews/consumption/index.js +1 -5
  18. package/dist/dataViews/consumption/index.js.map +1 -1
  19. package/dist/dataViews/content/AttributeDVO.d.ts +16 -0
  20. package/dist/dataViews/{consumption → content}/AttributeDVO.js +0 -0
  21. package/dist/dataViews/content/AttributeDVO.js.map +1 -0
  22. package/dist/dataViews/content/MailDVOs.d.ts +22 -0
  23. package/dist/dataViews/{consumption/MailDVO.js → content/MailDVOs.js} +1 -1
  24. package/dist/dataViews/content/MailDVOs.js.map +1 -0
  25. package/dist/dataViews/content/RequestDVOs.d.ts +44 -0
  26. package/dist/dataViews/{consumption/RequestMailDVO.js → content/RequestDVOs.js} +1 -1
  27. package/dist/dataViews/content/RequestDVOs.js.map +1 -0
  28. package/dist/dataViews/content/index.d.ts +3 -0
  29. package/dist/dataViews/content/index.js +16 -0
  30. package/dist/dataViews/content/index.js.map +1 -0
  31. package/dist/dataViews/index.d.ts +1 -0
  32. package/dist/dataViews/index.js +1 -0
  33. package/dist/dataViews/index.js.map +1 -1
  34. package/dist/dataViews/transport/FileDVO.d.ts +15 -5
  35. package/dist/dataViews/transport/IdentityDVO.d.ts +8 -20
  36. package/dist/dataViews/transport/MessageDVO.d.ts +13 -9
  37. package/dist/dataViews/transport/MessageDVO.js +1 -1
  38. package/dist/dataViews/transport/MessageDVO.js.map +1 -1
  39. package/dist/dataViews/transport/RelationshipDVO.d.ts +12 -2
  40. package/dist/dataViews/transport/RelationshipTemplateDVO.d.ts +7 -5
  41. package/dist/extensibility/facades/consumption/AttributesFacade.d.ts +4 -4
  42. package/dist/extensibility/facades/consumption/AttributesFacade.js +5 -5
  43. package/dist/extensibility/facades/consumption/AttributesFacade.js.map +1 -1
  44. package/dist/types/transport/IdentityDTO.d.ts +0 -4
  45. package/dist/types/transport/RecipientDTO.d.ts +2 -0
  46. package/dist/types/transport/RelationshipDTO.d.ts +2 -0
  47. package/dist/types/transport/RelationshipDTO.js.map +1 -1
  48. package/dist/useCases/common/SchemaRepository.d.ts +5 -4
  49. package/dist/useCases/common/SchemaRepository.js +11 -9
  50. package/dist/useCases/common/SchemaRepository.js.map +1 -1
  51. package/dist/useCases/common/Schemas.d.ts +78 -1602
  52. package/dist/useCases/common/Schemas.js +172 -57
  53. package/dist/useCases/common/Schemas.js.map +1 -1
  54. package/dist/useCases/common/UseCase.d.ts +1 -4
  55. package/dist/useCases/common/UseCase.js.map +1 -1
  56. package/dist/useCases/common/index.d.ts +2 -0
  57. package/dist/useCases/common/index.js +2 -0
  58. package/dist/useCases/common/index.js.map +1 -1
  59. package/dist/useCases/common/validation/IValidator.d.ts +4 -0
  60. package/dist/{dataViews/consumption/RequestDVO.js → useCases/common/validation/IValidator.js} +1 -1
  61. package/dist/useCases/common/validation/IValidator.js.map +1 -0
  62. package/dist/useCases/common/validation/SchemaValidator.d.ts +10 -0
  63. package/dist/useCases/common/{SchemaValidator.js → validation/SchemaValidator.js} +6 -3
  64. package/dist/useCases/common/validation/SchemaValidator.js.map +1 -0
  65. package/dist/useCases/consumption/attributes/AttributeMapper.d.ts +2 -2
  66. package/dist/useCases/consumption/attributes/AttributeMapper.js +3 -3
  67. package/dist/useCases/consumption/attributes/AttributeMapper.js.map +1 -1
  68. package/dist/useCases/consumption/attributes/GetAttributesByNames.d.ts +16 -0
  69. package/dist/useCases/consumption/attributes/{GetAttributesByName.js → GetAttributesByNames.js} +9 -9
  70. package/dist/useCases/consumption/attributes/GetAttributesByNames.js.map +1 -0
  71. package/dist/useCases/consumption/attributes/index.d.ts +1 -1
  72. package/dist/useCases/consumption/attributes/index.js +1 -1
  73. package/dist/useCases/consumption/attributes/index.js.map +1 -1
  74. package/dist/useCases/transport/devices/DeviceMapper.js +2 -10
  75. package/dist/useCases/transport/devices/DeviceMapper.js.map +1 -1
  76. package/dist/useCases/transport/files/CreateTokenForFile.d.ts +1 -3
  77. package/dist/useCases/transport/files/CreateTokenForFile.js +2 -4
  78. package/dist/useCases/transport/files/CreateTokenForFile.js.map +1 -1
  79. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.d.ts +1 -3
  80. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js +2 -4
  81. package/dist/useCases/transport/files/CreateTokenQrCodeForFile.js.map +1 -1
  82. package/dist/useCases/transport/files/DownloadFile.d.ts +1 -3
  83. package/dist/useCases/transport/files/DownloadFile.js +2 -4
  84. package/dist/useCases/transport/files/DownloadFile.js.map +1 -1
  85. package/dist/useCases/transport/files/GetFile.d.ts +1 -3
  86. package/dist/useCases/transport/files/GetFile.js +2 -4
  87. package/dist/useCases/transport/files/GetFile.js.map +1 -1
  88. package/dist/useCases/transport/files/LoadPeerFile.d.ts +24 -13
  89. package/dist/useCases/transport/files/LoadPeerFile.js +36 -37
  90. package/dist/useCases/transport/files/LoadPeerFile.js.map +1 -1
  91. package/dist/useCases/transport/messages/MessageMapper.js +5 -2
  92. package/dist/useCases/transport/messages/MessageMapper.js.map +1 -1
  93. package/dist/useCases/transport/relationships/RelationshipMapper.js +5 -0
  94. package/dist/useCases/transport/relationships/RelationshipMapper.js.map +1 -1
  95. package/lib-web/nmshd.runtime.js +928 -398
  96. package/lib-web/nmshd.runtime.js.map +1 -1
  97. package/lib-web/nmshd.runtime.min.js +2 -2
  98. package/lib-web/nmshd.runtime.min.js.map +1 -1
  99. package/package.json +23 -23
  100. package/dist/dataViews/consumption/AttributeDVO.d.ts +0 -18
  101. package/dist/dataViews/consumption/AttributeDVO.js.map +0 -1
  102. package/dist/dataViews/consumption/AttributesChangeRequestDVO.d.ts +0 -11
  103. package/dist/dataViews/consumption/AttributesChangeRequestDVO.js +0 -3
  104. package/dist/dataViews/consumption/AttributesChangeRequestDVO.js.map +0 -1
  105. package/dist/dataViews/consumption/AttributesShareRequestDVO.d.ts +0 -12
  106. package/dist/dataViews/consumption/AttributesShareRequestDVO.js +0 -3
  107. package/dist/dataViews/consumption/AttributesShareRequestDVO.js.map +0 -1
  108. package/dist/dataViews/consumption/MailDVO.d.ts +0 -7
  109. package/dist/dataViews/consumption/MailDVO.js.map +0 -1
  110. package/dist/dataViews/consumption/RequestDVO.d.ts +0 -7
  111. package/dist/dataViews/consumption/RequestDVO.js.map +0 -1
  112. package/dist/dataViews/consumption/RequestMailDVO.d.ts +0 -10
  113. package/dist/dataViews/consumption/RequestMailDVO.js.map +0 -1
  114. package/dist/useCases/common/SchemaValidator.d.ts +0 -9
  115. package/dist/useCases/common/SchemaValidator.js.map +0 -1
  116. package/dist/useCases/consumption/attributes/GetAttributesByName.d.ts +0 -16
  117. package/dist/useCases/consumption/attributes/GetAttributesByName.js.map +0 -1
@@ -21,8 +21,8 @@ const useCases_1 = require("../useCases");
21
21
  const DataViewTranslateable_1 = require("./DataViewTranslateable");
22
22
  const MessageDVO_1 = require("./transport/MessageDVO");
23
23
  let DataViewExpander = class DataViewExpander {
24
- constructor(tranport, consumption, identityController) {
25
- this.tranport = tranport;
24
+ constructor(transport, consumption, identityController) {
25
+ this.transport = transport;
26
26
  this.consumption = consumption;
27
27
  this.identityController = identityController;
28
28
  }
@@ -49,9 +49,9 @@ let DataViewExpander = class DataViewExpander {
49
49
  return await this.expandMessageDTO(content);
50
50
  case "Request":
51
51
  if (content instanceof Array) {
52
- return await this.expandRequests(content);
52
+ return await this.expandUnknownRequests(content);
53
53
  }
54
- return this.expandRequest(content);
54
+ return await this.expandUnknownRequest(content);
55
55
  case "AttributesShareRequest":
56
56
  if (content instanceof Array) {
57
57
  return await this.expandAttributesShareRequests(content);
@@ -96,7 +96,7 @@ let DataViewExpander = class DataViewExpander {
96
96
  if (content instanceof Array) {
97
97
  return await this.expandRelationshipDTOs(content);
98
98
  }
99
- return this.expandRelationshipDTO(content);
99
+ return await this.expandRelationshipDTO(content);
100
100
  case "ConsumptionAttribute":
101
101
  if (content instanceof Array) {
102
102
  return await this.expandConsumptionAttributes(content);
@@ -109,71 +109,127 @@ let DataViewExpander = class DataViewExpander {
109
109
  async expandMessageDTO(message) {
110
110
  const recipientRelationships = await this.expandRecipients(message.recipients);
111
111
  const createdByRelationship = await this.expandAddress(message.createdBy);
112
- const files = await this.expandFileIds(message.attachments);
112
+ const fileIds = [];
113
+ const filePromises = [];
114
+ for (const attachment of message.attachments) {
115
+ if (typeof attachment === "string") {
116
+ filePromises.push(this.expandFileId(attachment));
117
+ fileIds.push(attachment);
118
+ }
119
+ else {
120
+ filePromises.push(this.expandFileDTO(attachment));
121
+ fileIds.push(attachment.id);
122
+ }
123
+ }
124
+ const files = await Promise.all(filePromises);
113
125
  const isOwn = this.identityController.isMe(transport_1.CoreAddress.from(message.createdBy));
114
- let peerRelationships = [createdByRelationship];
126
+ let status = MessageDVO_1.MessageStatus.Received;
115
127
  if (isOwn) {
116
- peerRelationships = recipientRelationships;
128
+ const receivedByEveryone = message.recipients.every((r) => !!r.receivedAt);
129
+ status = receivedByEveryone ? MessageDVO_1.MessageStatus.Delivered : MessageDVO_1.MessageStatus.Delivering;
117
130
  }
118
- const status = MessageDVO_1.MessageStatus.Delivering; // TODO: JSSNMSHDD-2462 (Map message status once receivedAt is updated)
119
- return {
131
+ const name = DataViewTranslateable_1.DataViewTranslateable.transport.messageName;
132
+ const value = {
120
133
  id: message.id,
121
- name: DataViewTranslateable_1.DataViewTranslateable.transport.messageName,
134
+ name: name,
122
135
  date: message.createdAt,
123
136
  type: "MessageDVO",
124
- message: {
125
- ...message,
126
- isOwn: isOwn,
127
- attachmentCount: message.attachments.length,
128
- attachmentObjects: files,
129
- createdByObject: createdByRelationship,
130
- peerObjects: peerRelationships,
131
- recipientCount: message.recipients.length,
132
- recipientObjects: recipientRelationships,
133
- status: status
134
- },
137
+ createdByDevice: message.createdByDevice,
138
+ createdAt: message.createdAt,
139
+ createdBy: createdByRelationship,
140
+ recipients: recipientRelationships,
141
+ attachments: files,
142
+ isOwn,
143
+ recipientCount: message.recipients.length,
144
+ attachmentCount: message.attachments.length,
145
+ status,
135
146
  image: ""
136
147
  };
148
+ if (message.content["@type"] === "Mail" || message.content["@type"] === "RequestMail") {
149
+ value.name = DataViewTranslateable_1.DataViewTranslateable.consumption.mails.mailSubjectFallback;
150
+ value.type = "MailDVO";
151
+ const mailContent = message.content;
152
+ if (mailContent.subject) {
153
+ value.name = mailContent.subject;
154
+ }
155
+ value.to = await this.expandAddresses(mailContent.to);
156
+ value.toCount = mailContent.to.length;
157
+ value.ccCount = 0;
158
+ if (mailContent.cc) {
159
+ value.cc = await this.expandAddresses(mailContent.cc);
160
+ value.ccCount = mailContent.cc.length;
161
+ }
162
+ value.subject = mailContent.subject;
163
+ value.body = mailContent.body;
164
+ if (mailContent["@type"] === "RequestMail") {
165
+ const requestMailContent = message.content;
166
+ value.name = DataViewTranslateable_1.DataViewTranslateable.consumption.mails.requestMailSubjectFallback;
167
+ if (requestMailContent.subject) {
168
+ value.name = requestMailContent.subject;
169
+ }
170
+ value.type = "RequestMailDVO";
171
+ value.requests = await this.expandUnknownRequests(requestMailContent.requests);
172
+ value.requestCount = requestMailContent.requests.length;
173
+ return value;
174
+ }
175
+ return value;
176
+ }
177
+ return value;
137
178
  }
138
179
  async expandMessageDTOs(messages) {
139
180
  const messagePromises = messages.map((message) => this.expandMessageDTO(message));
140
181
  return await Promise.all(messagePromises);
141
182
  }
183
+ async expandUnknownRequest(request) {
184
+ switch (request["@type"]) {
185
+ case "AttributesRequest":
186
+ return await this.expandAttributesRequest(request);
187
+ case "AttributesShareRequest":
188
+ return await this.expandAttributesShareRequest(request);
189
+ case "AttributesChangeRequest":
190
+ return await this.expandAttributesChangeRequest(request);
191
+ }
192
+ return {
193
+ id: request.id ? request.id : "",
194
+ name: `${request["@type"]} ${request.key}`,
195
+ description: "i18n://dvo.request.unknownType",
196
+ type: "RequestDVO",
197
+ date: request.expiresAt,
198
+ ...request
199
+ };
200
+ }
142
201
  expandRequest(request) {
143
202
  return {
144
- id: "requestid",
145
- name: "Request",
146
- type: request["@type"],
147
- request: {
148
- ...request
149
- }
203
+ id: request.id ? request.id : "",
204
+ name: `${request["@type"]} ${request.key}`,
205
+ type: "RequestDVO",
206
+ date: request.expiresAt,
207
+ ...request
150
208
  };
151
209
  }
152
- async expandRequests(requests) {
153
- const requestsPromise = requests.map((request) => this.expandRequest(request));
210
+ async expandUnknownRequests(requests) {
211
+ const requestsPromise = requests.map((request) => this.expandUnknownRequest(request));
154
212
  return await Promise.all(requestsPromise);
155
213
  }
156
214
  async expandAttributesShareRequest(attributesShareRequest) {
157
215
  var _a, _b;
158
216
  const request = this.expandRequest(attributesShareRequest);
159
217
  const recipientObjects = [];
160
- let relationshipCount = 0;
218
+ let possibleRecipientCount = 0;
161
219
  for (const recipient of attributesShareRequest.recipients) {
162
220
  if (this.identityController.isMe(transport_1.CoreAddress.from(recipient))) {
163
221
  continue;
164
222
  }
165
- const result = await this.tranport.relationships.getRelationshipByAddress({
166
- address: recipient.toString()
167
- });
168
- if (result.isSuccess) {
169
- recipientObjects.push(this.expandRelationshipDTO(result.value));
170
- relationshipCount++;
223
+ const identity = await this.expandIdentityForAddress(recipient);
224
+ if (identity.hasRelationship) {
225
+ recipientObjects.push(identity);
226
+ possibleRecipientCount++;
171
227
  }
172
228
  }
173
229
  if (recipientObjects.length === 0) {
174
230
  request.errorCount = ((_a = request.errorCount) !== null && _a !== void 0 ? _a : 0) + 1;
175
231
  const error = {
176
- code: "error.consumption.request.AttributeShareRequest.noRelationship",
232
+ code: "error.dvo.request.AttributeShareRequest.noRelationship",
177
233
  message: "There are no relationships to any of the recipients of this request."
178
234
  };
179
235
  if (!request.errors) {
@@ -181,11 +237,11 @@ let DataViewExpander = class DataViewExpander {
181
237
  }
182
238
  request.errors.push(error);
183
239
  }
184
- else if (recipientObjects.length !== relationshipCount) {
240
+ else if (recipientObjects.length !== possibleRecipientCount) {
185
241
  request.warningCount = ((_b = request.warningCount) !== null && _b !== void 0 ? _b : 0) + 1;
186
242
  const warning = {
187
- code: "warning.consumption.request.AttributeShareRequest.onlyRelationships",
188
- message: "Not to every recipients of this request exist a relationship."
243
+ code: "warning.dvo.request.AttributeShareRequest.onlyRelationships",
244
+ message: "Not to every recipient of this request exist a relationship."
189
245
  };
190
246
  if (!request.warnings) {
191
247
  request.warnings = [];
@@ -206,27 +262,24 @@ let DataViewExpander = class DataViewExpander {
206
262
  }
207
263
  return {
208
264
  ...request,
209
- name: name,
210
- request: {
211
- ...request.request,
212
- attributeObjects: attributesObjects,
213
- attributes: attributesShareRequest.attributes,
214
- recipientObjects: recipientObjects,
215
- recipients: attributesShareRequest.recipients,
216
- relationshipCount: relationshipCount
217
- }
265
+ name,
266
+ type: "AttributesShareRequestDVO",
267
+ attributes: attributesObjects,
268
+ attributeCount: attributesObjects.length,
269
+ recipients: recipientObjects,
270
+ recipientCount: recipientObjects.length,
271
+ possibleRecipientCount
218
272
  };
219
273
  }
220
274
  expandConsumptionAttribute(attribute) {
221
275
  return {
276
+ type: "StoredAttributeDVO",
222
277
  id: attribute.id,
223
- name: `${attribute.content.name}: ${attribute.content.value}`,
224
- type: "Attribute",
225
- attribute: {
226
- ...attribute,
227
- isAvailable: true
228
- },
229
- date: attribute.createdAt
278
+ name: attribute.content.name,
279
+ value: attribute.content.value,
280
+ date: attribute.createdAt,
281
+ isOwn: true,
282
+ sharedItems: []
230
283
  };
231
284
  }
232
285
  async expandConsumptionAttributes(attributes) {
@@ -235,38 +288,33 @@ let DataViewExpander = class DataViewExpander {
235
288
  }
236
289
  async expandAttributeName(name) {
237
290
  const consumptionAttribute = await this.consumption.attributes.getAttributeByName({ name: name });
291
+ let matchedAttributes = [];
238
292
  if (consumptionAttribute.isSuccess) {
239
- return this.expandConsumptionAttribute(consumptionAttribute.value);
293
+ matchedAttributes = [this.expandConsumptionAttribute(consumptionAttribute.value)];
294
+ }
295
+ let bestMatch;
296
+ if (matchedAttributes.length > 0) {
297
+ bestMatch = matchedAttributes[0];
240
298
  }
241
- return this.getUnknownAttribute(name);
299
+ return {
300
+ type: "MatchedAttributesDVO",
301
+ id: name,
302
+ name: name,
303
+ matches: matchedAttributes,
304
+ bestMatch: bestMatch
305
+ };
242
306
  }
243
307
  async expandAttributeNames(names) {
244
308
  const namesPromise = names.map((name) => this.expandAttributeName(name));
245
309
  return await Promise.all(namesPromise);
246
310
  }
247
- getUnknownAttribute(name) {
248
- return {
249
- id: name,
250
- type: "Attribute",
251
- name: DataViewTranslateable_1.DataViewTranslateable.consumption.attributes.unknownAttributeName,
252
- attribute: {
253
- content: {
254
- "@type": "Attribute",
255
- name: name
256
- },
257
- isAvailable: false
258
- }
259
- };
260
- }
261
311
  expandAttribute(attribute) {
262
312
  return {
313
+ type: "AttributeDVO",
263
314
  id: attribute.name,
264
- type: "Attribute",
265
- name: attribute.value,
266
- attribute: {
267
- ...attribute,
268
- isAvailable: false
269
- }
315
+ name: attribute.name,
316
+ value: attribute.value,
317
+ isOwn: false
270
318
  };
271
319
  }
272
320
  async expandAttributes(attributes) {
@@ -277,14 +325,10 @@ let DataViewExpander = class DataViewExpander {
277
325
  const request = this.expandRequest(attributesChangeRequest);
278
326
  let applyToObject;
279
327
  if (attributesChangeRequest.applyTo) {
280
- if (!this.identityController.isMe(transport_1.CoreAddress.from(attributesChangeRequest.applyTo))) {
281
- const result = await this.tranport.relationships.getRelationshipByAddress({
282
- address: attributesChangeRequest.applyTo
283
- });
284
- if (result.isSuccess) {
285
- applyToObject = this.expandRelationshipDTO(result.value);
286
- }
287
- }
328
+ applyToObject = await this.expandIdentityForAddress(attributesChangeRequest.applyTo);
329
+ }
330
+ else {
331
+ applyToObject = this.expandSelf();
288
332
  }
289
333
  let name;
290
334
  const attributesObjects = [];
@@ -292,6 +336,7 @@ let DataViewExpander = class DataViewExpander {
292
336
  const attributeDVO = this.expandAttribute(attribute);
293
337
  attributesObjects.push(attributeDVO);
294
338
  }
339
+ const oldAttributesObjects = await this.expandAttributeNames(attributesObjects.map((item) => item.id));
295
340
  if (attributesObjects.length > 1) {
296
341
  name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestNamePlural;
297
342
  }
@@ -300,47 +345,59 @@ let DataViewExpander = class DataViewExpander {
300
345
  }
301
346
  return {
302
347
  ...request,
348
+ type: "AttributesChangeRequestDVO",
303
349
  name: name,
304
- request: {
305
- ...request.request,
306
- attributes: attributesChangeRequest.attributes,
307
- applyTo: attributesChangeRequest.applyTo,
308
- attributeObjects: attributesObjects,
309
- applyToObject: applyToObject
310
- }
350
+ newAttributes: attributesObjects,
351
+ oldAttributes: oldAttributesObjects,
352
+ applyTo: applyToObject
311
353
  };
312
354
  }
313
- expandSelf() {
314
- var _a;
315
- let identityProperties;
316
- const name = "";
317
- const initials = ((_a = name.match(/\b\w/g)) !== null && _a !== void 0 ? _a : []).join("");
318
- const isPerson = true;
319
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
320
- if (isPerson) {
321
- identityProperties = {
322
- initials: initials,
323
- statusText: "",
324
- isPerson: true,
325
- familyName: "",
326
- givenName: "",
327
- salutation: ""
328
- };
355
+ async expandAttributesRequest(attributesRequest) {
356
+ const request = this.expandRequest(attributesRequest);
357
+ let name;
358
+ const attributesObjects = await this.expandAttributeNames(attributesRequest.names);
359
+ if (attributesObjects.length > 1) {
360
+ name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestNamePlural;
329
361
  }
330
362
  else {
331
- identityProperties = {
332
- initials: initials,
333
- statusText: "",
334
- isOrganization: true,
335
- legalName: ""
336
- };
363
+ name = DataViewTranslateable_1.DataViewTranslateable.consumption.requests.attributesChangeRequestName;
337
364
  }
365
+ return {
366
+ ...request,
367
+ type: "AttributesRequestDVO",
368
+ names: attributesRequest.names,
369
+ name: name,
370
+ attributes: attributesObjects,
371
+ required: attributesRequest.required
372
+ };
373
+ }
374
+ expandSelf() {
375
+ const name = "i18n://dvo.identity.self.name";
376
+ const initials = "i18n://dvo.identity.self.initials";
377
+ return {
378
+ id: this.identityController.address.toString(),
379
+ type: "IdentityDVO",
380
+ name: name,
381
+ initials: initials,
382
+ realm: transport_1.Realm.Prod,
383
+ description: "i18n://dvo.identity.self.description",
384
+ isSelf: true,
385
+ hasRelationship: false
386
+ };
387
+ }
388
+ expandUnknown(address) {
389
+ var _a;
390
+ const name = address.substring(3, 9);
391
+ const initials = ((_a = name.match(/\b\w/g)) !== null && _a !== void 0 ? _a : []).join("");
338
392
  return {
339
393
  id: this.identityController.address.toString(),
340
- name: DataViewTranslateable_1.DataViewTranslateable.consumption.identities.self,
341
- type: "SelfDVO",
342
- identity: identityProperties,
343
- isSelf: true
394
+ type: "IdentityDVO",
395
+ name: name,
396
+ initials: initials,
397
+ realm: transport_1.Realm.Prod,
398
+ description: "i18n://dvo.identity.unknown.description",
399
+ isSelf: false,
400
+ hasRelationship: false
344
401
  };
345
402
  }
346
403
  async expandAttributesShareRequests(requests) {
@@ -355,11 +412,11 @@ let DataViewExpander = class DataViewExpander {
355
412
  if (this.identityController.isMe(transport_1.CoreAddress.from(address))) {
356
413
  return this.expandSelf();
357
414
  }
358
- const result = await this.tranport.relationships.getRelationshipByAddress({ address: address });
415
+ const result = await this.transport.relationships.getRelationshipByAddress({ address: address });
359
416
  if (result.isError) {
360
- throw result.error;
417
+ return this.expandUnknown(address);
361
418
  }
362
- return this.expandRelationshipDTO(result.value);
419
+ return await this.expandRelationshipDTO(result.value);
363
420
  }
364
421
  async expandAddresses(addresses) {
365
422
  const relationshipPromises = addresses.map((address) => this.expandAddress(address));
@@ -369,9 +426,12 @@ let DataViewExpander = class DataViewExpander {
369
426
  const relationshipPromises = recipients.map((recipient) => this.expandAddress(recipient.address));
370
427
  return await Promise.all(relationshipPromises);
371
428
  }
372
- expandRelationshipDTO(relationship) {
373
- var _a;
374
- const name = "";
429
+ async createRelationshipDVO(relationship, relationshipInfo) {
430
+ var _a, _b, _c, _d;
431
+ if (!relationshipInfo) {
432
+ const relationshipInfoResult = await this.consumption.relationshipInfo.getRelationshipInfoByRelationship({ relationshipId: relationship.id });
433
+ relationshipInfo = relationshipInfoResult.value;
434
+ }
375
435
  let statusText = "";
376
436
  if (relationship.status === transport_1.RelationshipStatus.Pending && this.identityController.isMe(transport_1.CoreAddress.from(relationship.changes[0].request.createdBy))) {
377
437
  statusText = DataViewTranslateable_1.DataViewTranslateable.transport.relationshipOutgoing;
@@ -388,34 +448,85 @@ let DataViewExpander = class DataViewExpander {
388
448
  else if (relationship.status === transport_1.RelationshipStatus.Active) {
389
449
  statusText = DataViewTranslateable_1.DataViewTranslateable.transport.relationshipActive;
390
450
  }
391
- const initials = ((_a = name.match(/\b\w/g)) !== null && _a !== void 0 ? _a : []).join("");
392
- const identityProperties = {
393
- initials: initials,
394
- statusText: statusText,
395
- isPerson: true,
396
- familyName: "",
397
- givenName: "",
398
- salutation: ""
399
- };
400
451
  return {
401
452
  id: relationship.id,
402
- name: name,
403
- description: statusText,
453
+ name: relationshipInfo.userTitle ? relationshipInfo.userTitle : relationshipInfo.title,
454
+ description: relationshipInfo.userDescription ? relationshipInfo.userDescription : relationshipInfo.title,
404
455
  date: relationship.changes[0].request.createdAt,
405
456
  image: "",
406
- type: "IdentityDVO",
407
- identity: identityProperties,
408
- relationship: {
409
- ...relationship
457
+ type: "RelationshipDVO",
458
+ status: statusText,
459
+ isPinned: relationshipInfo.isPinned,
460
+ theme: {
461
+ image: (_a = relationshipInfo.theme) === null || _a === void 0 ? void 0 : _a.image,
462
+ headerImage: (_b = relationshipInfo.theme) === null || _b === void 0 ? void 0 : _b.imageBar,
463
+ backgroundColor: (_c = relationshipInfo.theme) === null || _c === void 0 ? void 0 : _c.backgroundColor,
464
+ foregroundColor: (_d = relationshipInfo.theme) === null || _d === void 0 ? void 0 : _d.foregroundColor
410
465
  }
411
466
  };
412
467
  }
468
+ async expandRelationshipDTO(relationship) {
469
+ var _a;
470
+ const relationshipInfoResult = await this.consumption.relationshipInfo.getRelationshipInfoByRelationship({ relationshipId: relationship.id });
471
+ const relationshipInfo = relationshipInfoResult.value;
472
+ const name = relationshipInfo.userTitle ? relationshipInfo.userTitle : relationshipInfo.title;
473
+ let description = relationshipInfo.userDescription ? relationshipInfo.userDescription : relationshipInfo.description;
474
+ const initials = ((_a = name.match(/\b\w/g)) !== null && _a !== void 0 ? _a : []).join("");
475
+ const relationshipDVO = await this.createRelationshipDVO(relationship, relationshipInfo);
476
+ if (!description) {
477
+ description = relationshipDVO.status;
478
+ }
479
+ return {
480
+ type: "IdentityDVO",
481
+ id: relationship.peer,
482
+ name: name,
483
+ date: relationshipDVO.date,
484
+ description: description,
485
+ publicKey: relationship.peerIdentity.publicKey,
486
+ realm: relationship.peerIdentity.realm,
487
+ initials,
488
+ isSelf: false,
489
+ hasRelationship: true,
490
+ relationship: relationshipDVO
491
+ };
492
+ }
493
+ async expandIdentityForAddress(address) {
494
+ var _a;
495
+ if (address === this.identityController.address.toString()) {
496
+ return this.expandSelf();
497
+ }
498
+ const relationshipResult = await this.transport.relationships.getRelationshipByAddress({
499
+ address: address
500
+ });
501
+ if (relationshipResult.isSuccess) {
502
+ return await this.expandRelationshipDTO(relationshipResult.value);
503
+ }
504
+ if (relationshipResult.error.code !== useCases_1.RuntimeErrors.general.recordNotFound(transport_1.Relationship).code) {
505
+ throw relationshipResult.error;
506
+ }
507
+ const name = address.substring(3, 9);
508
+ const initials = ((_a = name.match(/\b\w/g)) !== null && _a !== void 0 ? _a : []).join("");
509
+ return {
510
+ id: address,
511
+ type: "IdentityDVO",
512
+ name: name,
513
+ initials: initials,
514
+ publicKey: "i18n://dvo.identity.publicKey.unknown",
515
+ realm: this.identityController.realm.toString(),
516
+ description: "i18n://dvo.identity.unknown",
517
+ isSelf: false,
518
+ hasRelationship: false
519
+ };
520
+ }
521
+ async expandIdentity(identity) {
522
+ return await this.expandIdentityForAddress(identity.address);
523
+ }
413
524
  async expandRelationshipDTOs(relationships) {
414
525
  const relationshipPromises = relationships.map((relationship) => this.expandRelationshipDTO(relationship));
415
526
  return await Promise.all(relationshipPromises);
416
527
  }
417
528
  async expandFileId(id) {
418
- const result = await this.tranport.files.getFile({ id: id });
529
+ const result = await this.transport.files.getFile({ id: id });
419
530
  if (result.isError) {
420
531
  throw result.error;
421
532
  }
@@ -427,15 +538,16 @@ let DataViewExpander = class DataViewExpander {
427
538
  }
428
539
  async expandFileDTO(file) {
429
540
  return {
541
+ ...file,
542
+ type: "FileDVO",
430
543
  id: file.id,
431
544
  name: file.title ? file.title : file.filename,
432
- type: "FileDVO",
433
545
  date: file.createdAt,
434
546
  image: "",
435
- file: {
436
- ...file,
437
- createdByObject: await this.expandAddress(file.createdBy)
438
- }
547
+ filename: file.filename,
548
+ filesize: file.filesize,
549
+ createdBy: await this.expandAddress(file.createdBy),
550
+ deletedBy: file.deletedBy ? await this.expandAddress(file.deletedBy) : undefined
439
551
  };
440
552
  }
441
553
  async expandFileDTOs(files) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewExpander.js","sourceRoot":"","sources":["../../src/dataViews/DataViewExpander.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataViewExpander.js","sourceRoot":"","sources":["../../src/dataViews/DataViewExpander.ts"],"names":[],"mappings":"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"}