Skip to content

Commit 9677474

Browse files
refactor: add includeRCDE option
1 parent 42c3676 commit 9677474

1 file changed

Lines changed: 33 additions & 28 deletions

File tree

web/lrm/client/composables/messageUtils.js

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -147,27 +147,25 @@ export function buildAck({
147147
}
148148

149149
export function buildError({ distributionID, senderID, sourceMessage }) {
150-
const msg = buildMessage(
150+
return buildMessage(
151151
{
152152
error: {
153153
errorCode: { statusCode: 501, statusString: 'UNROUTABLE_MESSAGE' },
154154
errorCause: 'This message was rejected by the recipient.',
155-
referencedDistributionID: distributionID,
156155
sourceMessage,
156+
referencedDistributionID: distributionID,
157157
},
158158
},
159-
{ distributionKind: 'Error', recipientId: senderID }
159+
{ distributionKind: 'Error', recipientId: senderID, includeRCDE: false }
160160
);
161-
msg.content[0].jsonContent.embeddedJsonContent.message = {
162-
error: msg.content[0].jsonContent.embeddedJsonContent.message.error,
163-
};
164-
return msg;
165161
}
162+
166163
export function buildMessage(
167164
innerMessage,
168-
{ distributionKind, recipientId } = {
165+
{ distributionKind, recipientId, includeRCDE = true } = {
169166
distributionKind: 'Report',
170167
recipientId: null,
168+
includeRCDE: true,
171169
}
172170
) {
173171
// InnerMessage should only have one key, as we do not support multiple use cases in the same message.
@@ -184,34 +182,41 @@ export function buildMessage(
184182
} else {
185183
message.descriptor.keyword[0].value = useCase;
186184
}
185+
187186
const formattedInnerMessage = formatIdsInMessage(innerMessage);
188-
message.content[0].jsonContent.embeddedJsonContent.message = {
189-
...message.content[0].jsonContent.embeddedJsonContent.message,
190-
...formattedInnerMessage,
191-
};
192-
const name = clientInfos().name;
193187
const targetId = recipientId ?? authStore.user.targetId;
194188
const sentAt = moment().format();
195189
message.distributionID = `${authStore.user.clientId}_${uuidv4()}`;
196190
message.distributionKind = distributionKind;
197191
message.senderID = authStore.user.clientId;
198192
message.dateTimeSent = sentAt;
199193
message.descriptor.explicitAddress.explicitAddressValue = targetId;
200-
message.content[0].jsonContent.embeddedJsonContent.message.messageId =
201-
message.distributionID;
202-
message.content[0].jsonContent.embeddedJsonContent.message.kind =
203-
message.distributionKind;
204-
message.content[0].jsonContent.embeddedJsonContent.message.sender = {
205-
name,
206-
URI: `hubex:${authStore.user.clientId}`,
207-
};
208-
message.content[0].jsonContent.embeddedJsonContent.message.sentAt = sentAt;
209-
message.content[0].jsonContent.embeddedJsonContent.message.recipient = [
210-
{
211-
name: clientInfos(targetId).name,
212-
URI: `hubex:${targetId}`,
213-
},
214-
];
194+
195+
if (includeRCDE) {
196+
const name = clientInfos().name;
197+
message.content[0].jsonContent.embeddedJsonContent.message = {
198+
...message.content[0].jsonContent.embeddedJsonContent.message,
199+
...formattedInnerMessage,
200+
messageId: message.distributionID,
201+
kind: message.distributionKind,
202+
sender: {
203+
name,
204+
URI: `hubex:${authStore.user.clientId}`,
205+
},
206+
sentAt,
207+
recipient: [
208+
{
209+
name: clientInfos(targetId).name,
210+
URI: `hubex:${targetId}`,
211+
},
212+
],
213+
};
214+
} else {
215+
message.content[0].jsonContent.embeddedJsonContent.message = {
216+
...formattedInnerMessage,
217+
};
218+
}
219+
215220
return trimEmptyValues(message);
216221
}
217222

0 commit comments

Comments
 (0)