matrix-react-sdk
Version:
SDK for matrix.org using React
57 lines (54 loc) • 7.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.updatePushRuleActions = exports.updateExistingPushRulesWithActions = void 0;
var _pushprocessor = require("matrix-js-sdk/src/pushprocessor");
/*
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.
*/
/**
* Sets the actions for a given push rule id and kind
* When actions are falsy, disables the rule
* @param matrixClient - cli
* @param ruleId - rule id to update
* @param kind - PushRuleKind
* @param actions - push rule actions to set for rule
*/
const updatePushRuleActions = async (matrixClient, ruleId, kind, actions) => {
if (!actions) {
await matrixClient.setPushRuleEnabled("global", kind, ruleId, false);
} else {
await matrixClient.setPushRuleActions("global", kind, ruleId, actions);
await matrixClient.setPushRuleEnabled("global", kind, ruleId, true);
}
};
exports.updatePushRuleActions = updatePushRuleActions;
/**
* Update push rules with given actions
* Where they already exist for current user
* Rules are updated sequentially and stop at first error
* @param matrixClient - cli
* @param ruleIds - RuleIds of push rules to attempt to set actions for
* @param actions - push rule actions to set for rule
* @returns resolves when all rules have been updated
* @returns rejects when a rule update fails
*/
const updateExistingPushRulesWithActions = async (matrixClient, ruleIds, actions) => {
const pushProcessor = new _pushprocessor.PushProcessor(matrixClient);
const rules = ruleIds?.map(ruleId => pushProcessor.getPushRuleAndKindById(ruleId)).filter(n => Boolean(n));
if (!rules?.length) {
return;
}
for (const {
kind,
rule
} of rules) {
await updatePushRuleActions(matrixClient, rule.rule_id, kind, actions);
}
};
exports.updateExistingPushRulesWithActions = updateExistingPushRulesWithActions;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHVzaHByb2Nlc3NvciIsInJlcXVpcmUiLCJ1cGRhdGVQdXNoUnVsZUFjdGlvbnMiLCJtYXRyaXhDbGllbnQiLCJydWxlSWQiLCJraW5kIiwiYWN0aW9ucyIsInNldFB1c2hSdWxlRW5hYmxlZCIsInNldFB1c2hSdWxlQWN0aW9ucyIsImV4cG9ydHMiLCJ1cGRhdGVFeGlzdGluZ1B1c2hSdWxlc1dpdGhBY3Rpb25zIiwicnVsZUlkcyIsInB1c2hQcm9jZXNzb3IiLCJQdXNoUHJvY2Vzc29yIiwicnVsZXMiLCJtYXAiLCJnZXRQdXNoUnVsZUFuZEtpbmRCeUlkIiwiZmlsdGVyIiwibiIsIkJvb2xlYW4iLCJsZW5ndGgiLCJydWxlIiwicnVsZV9pZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9wdXNoUnVsZXMvdXBkYXRlUHVzaFJ1bGVBY3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IE1hdHJpeENsaWVudCwgSVB1c2hSdWxlLCBQdXNoUnVsZUFjdGlvbiwgUHVzaFJ1bGVLaW5kIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuaW1wb3J0IHsgUHVzaFByb2Nlc3NvciB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9wdXNocHJvY2Vzc29yXCI7XG5cbi8qKlxuICogU2V0cyB0aGUgYWN0aW9ucyBmb3IgYSBnaXZlbiBwdXNoIHJ1bGUgaWQgYW5kIGtpbmRcbiAqIFdoZW4gYWN0aW9ucyBhcmUgZmFsc3ksIGRpc2FibGVzIHRoZSBydWxlXG4gKiBAcGFyYW0gbWF0cml4Q2xpZW50IC0gY2xpXG4gKiBAcGFyYW0gcnVsZUlkIC0gcnVsZSBpZCB0byB1cGRhdGVcbiAqIEBwYXJhbSBraW5kIC0gUHVzaFJ1bGVLaW5kXG4gKiBAcGFyYW0gYWN0aW9ucyAtIHB1c2ggcnVsZSBhY3Rpb25zIHRvIHNldCBmb3IgcnVsZVxuICovXG5leHBvcnQgY29uc3QgdXBkYXRlUHVzaFJ1bGVBY3Rpb25zID0gYXN5bmMgKFxuICAgIG1hdHJpeENsaWVudDogTWF0cml4Q2xpZW50LFxuICAgIHJ1bGVJZDogSVB1c2hSdWxlW1wicnVsZV9pZFwiXSxcbiAgICBraW5kOiBQdXNoUnVsZUtpbmQsXG4gICAgYWN0aW9ucz86IFB1c2hSdWxlQWN0aW9uW10sXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAoIWFjdGlvbnMpIHtcbiAgICAgICAgYXdhaXQgbWF0cml4Q2xpZW50LnNldFB1c2hSdWxlRW5hYmxlZChcImdsb2JhbFwiLCBraW5kLCBydWxlSWQsIGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBtYXRyaXhDbGllbnQuc2V0UHVzaFJ1bGVBY3Rpb25zKFwiZ2xvYmFsXCIsIGtpbmQsIHJ1bGVJZCwgYWN0aW9ucyk7XG4gICAgICAgIGF3YWl0IG1hdHJpeENsaWVudC5zZXRQdXNoUnVsZUVuYWJsZWQoXCJnbG9iYWxcIiwga2luZCwgcnVsZUlkLCB0cnVlKTtcbiAgICB9XG59O1xuXG5pbnRlcmZhY2UgUHVzaFJ1bGVBbmRLaW5kIHtcbiAgICBydWxlOiBJUHVzaFJ1bGU7XG4gICAga2luZDogUHVzaFJ1bGVLaW5kO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBwdXNoIHJ1bGVzIHdpdGggZ2l2ZW4gYWN0aW9uc1xuICogV2hlcmUgdGhleSBhbHJlYWR5IGV4aXN0IGZvciBjdXJyZW50IHVzZXJcbiAqIFJ1bGVzIGFyZSB1cGRhdGVkIHNlcXVlbnRpYWxseSBhbmQgc3RvcCBhdCBmaXJzdCBlcnJvclxuICogQHBhcmFtIG1hdHJpeENsaWVudCAtIGNsaVxuICogQHBhcmFtIHJ1bGVJZHMgLSBSdWxlSWRzIG9mIHB1c2ggcnVsZXMgdG8gYXR0ZW1wdCB0byBzZXQgYWN0aW9ucyBmb3JcbiAqIEBwYXJhbSBhY3Rpb25zIC0gcHVzaCBydWxlIGFjdGlvbnMgdG8gc2V0IGZvciBydWxlXG4gKiBAcmV0dXJucyByZXNvbHZlcyB3aGVuIGFsbCBydWxlcyBoYXZlIGJlZW4gdXBkYXRlZFxuICogQHJldHVybnMgcmVqZWN0cyB3aGVuIGEgcnVsZSB1cGRhdGUgZmFpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IHVwZGF0ZUV4aXN0aW5nUHVzaFJ1bGVzV2l0aEFjdGlvbnMgPSBhc3luYyAoXG4gICAgbWF0cml4Q2xpZW50OiBNYXRyaXhDbGllbnQsXG4gICAgcnVsZUlkcz86IElQdXNoUnVsZVtcInJ1bGVfaWRcIl1bXSxcbiAgICBhY3Rpb25zPzogUHVzaFJ1bGVBY3Rpb25bXSxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHB1c2hQcm9jZXNzb3IgPSBuZXcgUHVzaFByb2Nlc3NvcihtYXRyaXhDbGllbnQpO1xuXG4gICAgY29uc3QgcnVsZXM6IFB1c2hSdWxlQW5kS2luZFtdIHwgdW5kZWZpbmVkID0gcnVsZUlkc1xuICAgICAgICA/Lm1hcCgocnVsZUlkKSA9PiBwdXNoUHJvY2Vzc29yLmdldFB1c2hSdWxlQW5kS2luZEJ5SWQocnVsZUlkKSlcbiAgICAgICAgLmZpbHRlcigobjogUHVzaFJ1bGVBbmRLaW5kIHwgbnVsbCk6IG4gaXMgUHVzaFJ1bGVBbmRLaW5kID0+IEJvb2xlYW4obikpO1xuXG4gICAgaWYgKCFydWxlcz8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCB7IGtpbmQsIHJ1bGUgfSBvZiBydWxlcykge1xuICAgICAgICBhd2FpdCB1cGRhdGVQdXNoUnVsZUFjdGlvbnMobWF0cml4Q2xpZW50LCBydWxlLnJ1bGVfaWQsIGtpbmQsIGFjdGlvbnMpO1xuICAgIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVNBLElBQUFBLGNBQUEsR0FBQUMsT0FBQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNQyxxQkFBcUIsR0FBRyxNQUFBQSxDQUNqQ0MsWUFBMEIsRUFDMUJDLE1BQTRCLEVBQzVCQyxJQUFrQixFQUNsQkMsT0FBMEIsS0FDVjtFQUNoQixJQUFJLENBQUNBLE9BQU8sRUFBRTtJQUNWLE1BQU1ILFlBQVksQ0FBQ0ksa0JBQWtCLENBQUMsUUFBUSxFQUFFRixJQUFJLEVBQUVELE1BQU0sRUFBRSxLQUFLLENBQUM7RUFDeEUsQ0FBQyxNQUFNO0lBQ0gsTUFBTUQsWUFBWSxDQUFDSyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUVILElBQUksRUFBRUQsTUFBTSxFQUFFRSxPQUFPLENBQUM7SUFDdEUsTUFBTUgsWUFBWSxDQUFDSSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUVGLElBQUksRUFBRUQsTUFBTSxFQUFFLElBQUksQ0FBQztFQUN2RTtBQUNKLENBQUM7QUFBQ0ssT0FBQSxDQUFBUCxxQkFBQSxHQUFBQSxxQkFBQTtBQU9GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sTUFBTVEsa0NBQWtDLEdBQUcsTUFBQUEsQ0FDOUNQLFlBQTBCLEVBQzFCUSxPQUFnQyxFQUNoQ0wsT0FBMEIsS0FDVjtFQUNoQixNQUFNTSxhQUFhLEdBQUcsSUFBSUMsNEJBQWEsQ0FBQ1YsWUFBWSxDQUFDO0VBRXJELE1BQU1XLEtBQW9DLEdBQUdILE9BQU8sRUFDOUNJLEdBQUcsQ0FBRVgsTUFBTSxJQUFLUSxhQUFhLENBQUNJLHNCQUFzQixDQUFDWixNQUFNLENBQUMsQ0FBQyxDQUM5RGEsTUFBTSxDQUFFQyxDQUF5QixJQUEyQkMsT0FBTyxDQUFDRCxDQUFDLENBQUMsQ0FBQztFQUU1RSxJQUFJLENBQUNKLEtBQUssRUFBRU0sTUFBTSxFQUFFO0lBQ2hCO0VBQ0o7RUFDQSxLQUFLLE1BQU07SUFBRWYsSUFBSTtJQUFFZ0I7RUFBSyxDQUFDLElBQUlQLEtBQUssRUFBRTtJQUNoQyxNQUFNWixxQkFBcUIsQ0FBQ0MsWUFBWSxFQUFFa0IsSUFBSSxDQUFDQyxPQUFPLEVBQUVqQixJQUFJLEVBQUVDLE9BQU8sQ0FBQztFQUMxRTtBQUNKLENBQUM7QUFBQ0csT0FBQSxDQUFBQyxrQ0FBQSxHQUFBQSxrQ0FBQSIsImlnbm9yZUxpc3QiOltdfQ==