From 7de704ef86d0d7d7cc3c5b7d36495f75cc228822 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Wed, 11 Aug 2021 12:03:06 -0700 Subject: [PATCH] Migrate InviteStore.js to TypeScript. --- src/matrix/storage/idb/Transaction.js | 2 +- .../stores/{InviteStore.js => InviteStore.ts} | 26 ++++++++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) rename src/matrix/storage/idb/stores/{InviteStore.js => InviteStore.ts} (56%) diff --git a/src/matrix/storage/idb/Transaction.js b/src/matrix/storage/idb/Transaction.js index e8e52b11..72716fe5 100644 --- a/src/matrix/storage/idb/Transaction.js +++ b/src/matrix/storage/idb/Transaction.js @@ -19,7 +19,7 @@ import {StorageError} from "../common"; import {Store} from "./Store"; import {SessionStore} from "./stores/SessionStore"; import {RoomSummaryStore} from "./stores/RoomSummaryStore"; -import {InviteStore} from "./stores/InviteStore.js"; +import {InviteStore} from "./stores/InviteStore"; import {TimelineEventStore} from "./stores/TimelineEventStore.js"; import {TimelineRelationStore} from "./stores/TimelineRelationStore.js"; import {RoomStateStore} from "./stores/RoomStateStore.js"; diff --git a/src/matrix/storage/idb/stores/InviteStore.js b/src/matrix/storage/idb/stores/InviteStore.ts similarity index 56% rename from src/matrix/storage/idb/stores/InviteStore.js rename to src/matrix/storage/idb/stores/InviteStore.ts index b0eefe60..f8841a71 100644 --- a/src/matrix/storage/idb/stores/InviteStore.js +++ b/src/matrix/storage/idb/stores/InviteStore.ts @@ -13,21 +13,39 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ +import {Store} from "../Store"; +import {MemberData} from "./RoomMemberStore"; + +// TODO: Move to Invite when that's TypeScript. +export interface InviteData { + roomId: string; + isEncrypted: boolean; + isDirectMessage: boolean; + name?: string; + avatarUrl?: string; + avatarColorId: number; + canonicalAlias?: string; + timestamp: number; + joinRule: string; + inviter?: MemberData; +} export class InviteStore { - constructor(inviteStore) { + private _inviteStore: Store; + + constructor(inviteStore: Store) { this._inviteStore = inviteStore; } - getAll() { + getAll(): Promise { return this._inviteStore.selectAll(); } - set(invite) { + set(invite: InviteData): Promise { return this._inviteStore.put(invite); } - remove(roomId) { + remove(roomId: string): void { this._inviteStore.delete(roomId); } }