[FIX] Changing Room name updates the webhook (#13672)

* Fixes #8477

* Rebased branch

* CI fix
pull/13685/head^2
Kautilya Tripathi 7 years ago committed by Diego Sampaio
parent 98c5d22db5
commit d33d3cdc0b
  1. 10
      app/channel-settings/server/functions/saveRoomName.js
  2. 6
      app/models/server/models/Integrations.js

@ -1,5 +1,5 @@
import { Meteor } from 'meteor/meteor';
import { Rooms, Messages, Subscriptions } from '/app/models';
import { Rooms, Messages, Subscriptions, Integrations } from '/app/models';
import { roomTypes, getValidRoomName } from '/app/utils';
export const saveRoomName = function(rid, displayName, user, sendMessage = true) {
@ -17,7 +17,13 @@ export const saveRoomName = function(rid, displayName, user, sendMessage = true)
const update = Rooms.setNameById(rid, slugifiedRoomName, displayName) && Subscriptions.updateNameAndAlertByRoomId(rid, slugifiedRoomName, displayName);
if (update && sendMessage) {
if (!update) {
return;
}
Integrations.updateRoomName(room.name, displayName);
if (sendMessage) {
Messages.createRoomRenamedWithRoomIdRoomNameAndUser(rid, displayName, user);
}
return displayName;

@ -17,6 +17,12 @@ export class Integrations extends Base {
disableByUserId(userId) {
return this.update({ userId }, { $set: { enabled: false } }, { multi: true });
}
updateRoomName(oldRoomName, newRoomName) {
const hashedOldRoomName = `#${ oldRoomName }`;
const hashedNewRoomName = `#${ newRoomName }`;
return this.update({ channel: hashedOldRoomName }, { $set: { 'channel.$': hashedNewRoomName } }, { multi: true });
}
}
export default new Integrations();

Loading…
Cancel
Save