From c21b18768304523bac1cfb360bab77f1f7a4353f Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Thu, 12 Aug 2021 10:51:35 -0700 Subject: [PATCH] Add type annotations to GroupSessionDecryptionStore --- .../idb/stores/GroupSessionDecryptionStore.ts | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts b/src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts index da47639d..25c21b4b 100644 --- a/src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts +++ b/src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts @@ -15,30 +15,39 @@ limitations under the License. */ import {MIN_UNICODE, MAX_UNICODE} from "./common"; +import {Store} from "../Store" -function encodeKey(roomId, sessionId, messageIndex) { +function encodeKey(roomId: string, sessionId: string, messageIndex: number | string): string { return `${roomId}|${sessionId}|${messageIndex}`; } +interface GroupSessionDecryption { + eventId: string + timestamp: number + key: string +} + export class GroupSessionDecryptionStore { - constructor(store) { + private _store: Store + + constructor(store: Store) { this._store = store; } - get(roomId, sessionId, messageIndex) { + get(roomId: string, sessionId: string, messageIndex: number): Promise { return this._store.get(encodeKey(roomId, sessionId, messageIndex)); } - set(roomId, sessionId, messageIndex, decryption) { + set(roomId: string, sessionId: string, messageIndex: number, decryption: GroupSessionDecryption): Promise { decryption.key = encodeKey(roomId, sessionId, messageIndex); - this._store.put(decryption); + return this._store.put(decryption); } - removeAllForRoom(roomId) { + removeAllForRoom(roomId: string): Promise { const range = this._store.IDBKeyRange.bound( encodeKey(roomId, MIN_UNICODE, MIN_UNICODE), encodeKey(roomId, MAX_UNICODE, MAX_UNICODE) ); - this._store.delete(range); + return this._store.delete(range); } }