Migrate to js-sdk types for push rules

This commit is contained in:
Travis Ralston 2021-07-11 20:03:07 -06:00
parent 9556b61041
commit 5b9fca3b91
4 changed files with 21 additions and 138 deletions

View file

@ -1,6 +1,5 @@
/*
Copyright 2016 OpenMarket Ltd
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Copyright 2016 - 2021 The Matrix.org Foundation C.I.C.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -16,12 +15,12 @@ limitations under the License.
*/
import { PushRuleVectorState, State } from "./PushRuleVectorState";
import { IExtendedPushRule, IRuleSets } from "./types";
import { IAnnotatedPushRule, IPushRules, PushRuleKind } from "matrix-js-sdk/src/@types/PushRules";
export interface IContentRules {
vectorState: State;
rules: IExtendedPushRule[];
externalRules: IExtendedPushRule[];
rules: IAnnotatedPushRule[];
externalRules: IAnnotatedPushRule[];
}
export const SCOPE = "global";
@ -39,9 +38,9 @@ export class ContentRules {
* externalRules: a list of other keyword rules, with states other than
* vectorState
*/
static parseContentRules(rulesets: IRuleSets): IContentRules {
public static parseContentRules(rulesets: IPushRules): IContentRules {
// first categorise the keyword rules in terms of their actions
const contentRules = this._categoriseContentRules(rulesets);
const contentRules = ContentRules.categoriseContentRules(rulesets);
// Decide which content rules to display in Vector UI.
// Vector displays a single global rule for a list of keywords
@ -95,8 +94,8 @@ export class ContentRules {
}
}
static _categoriseContentRules(rulesets: IRuleSets) {
const contentRules: Record<"on"|"on_but_disabled"|"loud"|"loud_but_disabled"|"other", IExtendedPushRule[]> = {
private static categoriseContentRules(rulesets: IPushRules) {
const contentRules: Record<"on"|"on_but_disabled"|"loud"|"loud_but_disabled"|"other", IAnnotatedPushRule[]> = {
on: [],
on_but_disabled: [],
loud: [],
@ -109,7 +108,7 @@ export class ContentRules {
const r = rulesets.global[kind][i];
// check it's not a default rule
if (r.rule_id[0] === '.' || kind !== "content") {
if (r.rule_id[0] === '.' || kind !== PushRuleKind.ContentSpecific) {
continue;
}