UNPKG

matrix-react-sdk

Version:
42 lines (39 loc) 5.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getChangedOverrideRoomMutePushRules = void 0; var _matrix = require("matrix-js-sdk/src/matrix"); var _RoomNotifs = require("../../../RoomNotifs"); var _arrays = require("../../../utils/arrays"); /* Copyright 2024 New Vector Ltd. Copyright 2023 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * Gets any changed push rules that are room specific overrides * that mute notifications * @param actionPayload * @returns {string[]} ruleIds of added or removed rules */ const getChangedOverrideRoomMutePushRules = actionPayload => { if (actionPayload.action !== "MatrixActions.accountData" || actionPayload.event?.getType() !== _matrix.EventType.PushRules) { return undefined; } const event = actionPayload.event; const prevEvent = actionPayload.previousEvent; if (!event || !prevEvent) { return undefined; } const roomPushRules = event.getContent()?.global?.override?.filter(_RoomNotifs.isRuleMaybeRoomMuteRule); const prevRoomPushRules = prevEvent?.getContent()?.global?.override?.filter(_RoomNotifs.isRuleMaybeRoomMuteRule); const { added, removed } = (0, _arrays.arrayDiff)(prevRoomPushRules?.map(rule => rule.rule_id) || [], roomPushRules?.map(rule => rule.rule_id) || []); return [...added, ...removed]; }; exports.getChangedOverrideRoomMutePushRules = getChangedOverrideRoomMutePushRules; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIl9Sb29tTm90aWZzIiwiX2FycmF5cyIsImdldENoYW5nZWRPdmVycmlkZVJvb21NdXRlUHVzaFJ1bGVzIiwiYWN0aW9uUGF5bG9hZCIsImFjdGlvbiIsImV2ZW50IiwiZ2V0VHlwZSIsIkV2ZW50VHlwZSIsIlB1c2hSdWxlcyIsInVuZGVmaW5lZCIsInByZXZFdmVudCIsInByZXZpb3VzRXZlbnQiLCJyb29tUHVzaFJ1bGVzIiwiZ2V0Q29udGVudCIsImdsb2JhbCIsIm92ZXJyaWRlIiwiZmlsdGVyIiwiaXNSdWxlTWF5YmVSb29tTXV0ZVJ1bGUiLCJwcmV2Um9vbVB1c2hSdWxlcyIsImFkZGVkIiwicmVtb3ZlZCIsImFycmF5RGlmZiIsIm1hcCIsInJ1bGUiLCJydWxlX2lkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvcm9vbS1saXN0L3V0aWxzL3Jvb21NdXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IE1hdHJpeEV2ZW50LCBFdmVudFR5cGUsIElQdXNoUnVsZXMgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCB7IEFjdGlvblBheWxvYWQgfSBmcm9tIFwiLi4vLi4vLi4vZGlzcGF0Y2hlci9wYXlsb2Fkc1wiO1xuaW1wb3J0IHsgaXNSdWxlTWF5YmVSb29tTXV0ZVJ1bGUgfSBmcm9tIFwiLi4vLi4vLi4vUm9vbU5vdGlmc1wiO1xuaW1wb3J0IHsgYXJyYXlEaWZmIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2FycmF5c1wiO1xuXG4vKipcbiAqIEdldHMgYW55IGNoYW5nZWQgcHVzaCBydWxlcyB0aGF0IGFyZSByb29tIHNwZWNpZmljIG92ZXJyaWRlc1xuICogdGhhdCBtdXRlIG5vdGlmaWNhdGlvbnNcbiAqIEBwYXJhbSBhY3Rpb25QYXlsb2FkXG4gKiBAcmV0dXJucyB7c3RyaW5nW119IHJ1bGVJZHMgb2YgYWRkZWQgb3IgcmVtb3ZlZCBydWxlc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q2hhbmdlZE92ZXJyaWRlUm9vbU11dGVQdXNoUnVsZXMgPSAoYWN0aW9uUGF5bG9hZDogQWN0aW9uUGF5bG9hZCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAoXG4gICAgICAgIGFjdGlvblBheWxvYWQuYWN0aW9uICE9PSBcIk1hdHJpeEFjdGlvbnMuYWNjb3VudERhdGFcIiB8fFxuICAgICAgICBhY3Rpb25QYXlsb2FkLmV2ZW50Py5nZXRUeXBlKCkgIT09IEV2ZW50VHlwZS5QdXNoUnVsZXNcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgZXZlbnQgPSBhY3Rpb25QYXlsb2FkLmV2ZW50IGFzIE1hdHJpeEV2ZW50O1xuICAgIGNvbnN0IHByZXZFdmVudCA9IGFjdGlvblBheWxvYWQucHJldmlvdXNFdmVudCBhcyBNYXRyaXhFdmVudCB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghZXZlbnQgfHwgIXByZXZFdmVudCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHJvb21QdXNoUnVsZXMgPSAoZXZlbnQuZ2V0Q29udGVudCgpIGFzIElQdXNoUnVsZXMpPy5nbG9iYWw/Lm92ZXJyaWRlPy5maWx0ZXIoaXNSdWxlTWF5YmVSb29tTXV0ZVJ1bGUpO1xuICAgIGNvbnN0IHByZXZSb29tUHVzaFJ1bGVzID0gKHByZXZFdmVudD8uZ2V0Q29udGVudCgpIGFzIElQdXNoUnVsZXMpPy5nbG9iYWw/Lm92ZXJyaWRlPy5maWx0ZXIoXG4gICAgICAgIGlzUnVsZU1heWJlUm9vbU11dGVSdWxlLFxuICAgICk7XG5cbiAgICBjb25zdCB7IGFkZGVkLCByZW1vdmVkIH0gPSBhcnJheURpZmYoXG4gICAgICAgIHByZXZSb29tUHVzaFJ1bGVzPy5tYXAoKHJ1bGUpID0+IHJ1bGUucnVsZV9pZCkgfHwgW10sXG4gICAgICAgIHJvb21QdXNoUnVsZXM/Lm1hcCgocnVsZSkgPT4gcnVsZS5ydWxlX2lkKSB8fCBbXSxcbiAgICApO1xuXG4gICAgcmV0dXJuIFsuLi5hZGRlZCwgLi4ucmVtb3ZlZF07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNRyxtQ0FBbUMsR0FBSUMsYUFBNEIsSUFBMkI7RUFDdkcsSUFDSUEsYUFBYSxDQUFDQyxNQUFNLEtBQUssMkJBQTJCLElBQ3BERCxhQUFhLENBQUNFLEtBQUssRUFBRUMsT0FBTyxDQUFDLENBQUMsS0FBS0MsaUJBQVMsQ0FBQ0MsU0FBUyxFQUN4RDtJQUNFLE9BQU9DLFNBQVM7RUFDcEI7RUFDQSxNQUFNSixLQUFLLEdBQUdGLGFBQWEsQ0FBQ0UsS0FBb0I7RUFDaEQsTUFBTUssU0FBUyxHQUFHUCxhQUFhLENBQUNRLGFBQXdDO0VBRXhFLElBQUksQ0FBQ04sS0FBSyxJQUFJLENBQUNLLFNBQVMsRUFBRTtJQUN0QixPQUFPRCxTQUFTO0VBQ3BCO0VBRUEsTUFBTUcsYUFBYSxHQUFJUCxLQUFLLENBQUNRLFVBQVUsQ0FBQyxDQUFDLEVBQWlCQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsTUFBTSxDQUFDQyxtQ0FBdUIsQ0FBQztFQUMzRyxNQUFNQyxpQkFBaUIsR0FBSVIsU0FBUyxFQUFFRyxVQUFVLENBQUMsQ0FBQyxFQUFpQkMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sQ0FDdkZDLG1DQUNKLENBQUM7RUFFRCxNQUFNO0lBQUVFLEtBQUs7SUFBRUM7RUFBUSxDQUFDLEdBQUcsSUFBQUMsaUJBQVMsRUFDaENILGlCQUFpQixFQUFFSSxHQUFHLENBQUVDLElBQUksSUFBS0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQ3BEWixhQUFhLEVBQUVVLEdBQUcsQ0FBRUMsSUFBSSxJQUFLQSxJQUFJLENBQUNDLE9BQU8sQ0FBQyxJQUFJLEVBQ2xELENBQUM7RUFFRCxPQUFPLENBQUMsR0FBR0wsS0FBSyxFQUFFLEdBQUdDLE9BQU8sQ0FBQztBQUNqQyxDQUFDO0FBQUNLLE9BQUEsQ0FBQXZCLG1DQUFBLEdBQUFBLG1DQUFBIiwiaWdub3JlTGlzdCI6W119