Add initial translation of RoomSummaryStore.js
This commit is contained in:
parent
5177c35d0d
commit
f8613e9e96
3 changed files with 23 additions and 19 deletions
|
@ -94,7 +94,7 @@ export class QueryTarget<T> {
|
||||||
return this._selectWhile(range, predicate, "prev");
|
return this._selectWhile(range, predicate, "prev");
|
||||||
}
|
}
|
||||||
|
|
||||||
async selectAll(range: IDBKeyRange, direction: IDBCursorDirection): Promise<T[]> {
|
async selectAll(range?: IDBKeyRange, direction?: IDBCursorDirection): Promise<T[]> {
|
||||||
const cursor = this._openCursor(range, direction);
|
const cursor = this._openCursor(range, direction);
|
||||||
const results: T[] = [];
|
const results: T[] = [];
|
||||||
await iterateCursor<T>(cursor, (value) => {
|
await iterateCursor<T>(cursor, (value) => {
|
||||||
|
|
|
@ -18,7 +18,7 @@ import {txnAsPromise} from "./utils";
|
||||||
import {StorageError} from "../common";
|
import {StorageError} from "../common";
|
||||||
import {Store} from "./Store";
|
import {Store} from "./Store";
|
||||||
import {SessionStore} from "./stores/SessionStore";
|
import {SessionStore} from "./stores/SessionStore";
|
||||||
import {RoomSummaryStore} from "./stores/RoomSummaryStore.js";
|
import {RoomSummaryStore} from "./stores/RoomSummaryStore";
|
||||||
import {InviteStore} from "./stores/InviteStore.js";
|
import {InviteStore} from "./stores/InviteStore.js";
|
||||||
import {TimelineEventStore} from "./stores/TimelineEventStore.js";
|
import {TimelineEventStore} from "./stores/TimelineEventStore.js";
|
||||||
import {TimelineRelationStore} from "./stores/TimelineRelationStore.js";
|
import {TimelineRelationStore} from "./stores/TimelineRelationStore.js";
|
||||||
|
|
|
@ -27,31 +27,35 @@ store contains:
|
||||||
inviteCount
|
inviteCount
|
||||||
joinCount
|
joinCount
|
||||||
*/
|
*/
|
||||||
|
import {Store} from "../Store"
|
||||||
|
import {SummaryData} from "../../../room/RoomSummary"
|
||||||
|
|
||||||
/** Used for both roomSummary and archivedRoomSummary stores */
|
/** Used for both roomSummary and archivedRoomSummary stores */
|
||||||
export class RoomSummaryStore {
|
export class RoomSummaryStore {
|
||||||
constructor(summaryStore) {
|
private _summaryStore: Store<SummaryData>
|
||||||
this._summaryStore = summaryStore;
|
|
||||||
}
|
|
||||||
|
|
||||||
getAll() {
|
constructor(summaryStore: Store<SummaryData>) {
|
||||||
return this._summaryStore.selectAll();
|
this._summaryStore = summaryStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
set(summary) {
|
getAll() {
|
||||||
return this._summaryStore.put(summary);
|
return this._summaryStore.selectAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
get(roomId) {
|
set(summary: SummaryData) {
|
||||||
return this._summaryStore.get(roomId);
|
return this._summaryStore.put(summary);
|
||||||
}
|
}
|
||||||
|
|
||||||
async has(roomId) {
|
get(roomId: string) {
|
||||||
|
return this._summaryStore.get(roomId);
|
||||||
|
}
|
||||||
|
|
||||||
|
async has(roomId: string) {
|
||||||
const fetchedKey = await this._summaryStore.getKey(roomId);
|
const fetchedKey = await this._summaryStore.getKey(roomId);
|
||||||
return roomId === fetchedKey;
|
return roomId === fetchedKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
remove(roomId) {
|
remove(roomId: string) {
|
||||||
return this._summaryStore.delete(roomId);
|
return this._summaryStore.delete(roomId);
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in a new issue