fix(microservices): no messages emitted with mqtt when qos set #14079

This commit is contained in:
Kamil Myśliwiec
2024-11-12 12:35:25 +01:00
parent bc4667c15a
commit 1fe4dc2cad

View File

@@ -210,15 +210,22 @@ export class ClientMqtt extends ClientProxy {
return undefined;
}
return {
...requestOptions,
properties: {
...requestOptions?.properties,
// Cant just spread objects as MQTT won't deliver
// any message with empty object as "userProperties" field
// @url https://github.com/nestjs/nest/issues/14079
let options: MqttRecordOptions = {};
if (requestOptions) {
options = { ...requestOptions };
}
if (this.options?.userProperties) {
options.properties = {
...options.properties,
userProperties: {
...this.options?.userProperties,
...requestOptions?.properties?.userProperties,
...options.properties?.userProperties,
},
},
};
};
}
return options;
}
}