Skip to content

Commit ffddb5e

Browse files
authored
Merge pull request #512 from ansforge/fix/lrm-client-ack-condition
Fix lrm client ack condition
2 parents c43643d + 3928a1e commit ffddb5e

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

web/lrm/client/components/ReceivedMessage.vue

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@
6060
</span>
6161
<v-spacer />
6262
<span v-if="!dense" class="d-flex row">
63-
<div v-if="getMessageType({ body }) !== 'ack' && !isOut(direction)">
63+
<div
64+
v-if="getMessageType({ body }) === 'message' && !isOut(direction)"
65+
>
6466
<v-btn
6567
icon
6668
variant="text"
@@ -122,9 +124,11 @@ import { useAuthStore } from '@/store/auth';
122124
import {
123125
buildAck,
124126
sendMessage,
127+
INTERNAL_HUB_USER,
125128
getMessageType,
126129
getDistributionIdOfAckedMessage,
127130
} from '~/composables/messageUtils';
131+
import consola from 'consola';
128132
129133
const store = useMainStore();
130134
const authStore = useAuthStore();
@@ -199,11 +203,18 @@ const sendAck = () => {
199203
try {
200204
const distributionID = props.body.distributionID;
201205
const senderID = props.body.senderID;
206+
if (getMessageType({ body: props.body }) !== 'message') {
207+
return;
208+
}
209+
if (senderID.includes(INTERNAL_HUB_USER)) {
210+
consola.warn(`Ack not sent: ${INTERNAL_HUB_USER} is not a valid client`);
211+
return;
212+
}
202213
const msg = buildAck({ distributionID, senderID });
203214
sendMessage(msg, props.vhost);
204215
isAcked.value = true;
205216
} catch (error) {
206-
console.error("Erreur lors de l'envoi de l'acquittement", error);
217+
consola.error("Erreur lors de l'envoi de l'acquittement", error);
207218
}
208219
};
209220

web/lrm/client/composables/messageUtils.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ const caseIdMap = {
2929
'RS-SR': 'resourcesStatus.caseId',
3030
};
3131

32+
export const INTERNAL_HUB_USER = 'fr.health.hub';
33+
3234
export function getCaseId(message, isRootMessage = false) {
3335
if (isRootMessage) {
3436
message = message.body.content[0].jsonContent.embeddedJsonContent.message;

web/lrm/client/mixins/mixinWebsocket.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export default {
6767
if (this.autoAck) {
6868
// Send back acks automatically to received messages
6969
if (
70-
getMessageType(message) !== 'ack' &&
70+
getMessageType(message) === 'message' &&
7171
message.routingKey.startsWith(this.store.user.clientId)
7272
) {
7373
const msg = buildAck({

0 commit comments

Comments
 (0)