EventIndex: Add some more docs and fix some lint issues.

pull/21833/head
Damir Jelić 2019-11-13 16:21:26 +01:00
parent c26df9d9ef
commit cc2ee53824
4 changed files with 24 additions and 6 deletions

View File

@ -168,7 +168,7 @@ export default class BaseEventIndexManager {
async addHistoricEvents(
events: [HistoricEvent],
checkpoint: CrawlerCheckpoint | null = null,
oldCheckpoint: CrawlerCheckpoint | null = null,
oldCheckpoint: CrawlerCheckpoint | null = null,
): Promise<bool> {
throw new Error("Unimplemented");
}

View File

@ -153,6 +153,12 @@ export default class BasePlatform {
throw new Error("Unimplemented");
}
/**
* Get our platform specific EventIndexManager.
*
* @return {BaseEventIndexManager} The EventIndex manager for our platform,
* can be null if the platform doesn't support event indexing.
*/
getEventIndexingManager(): BaseEventIndexManager | null {
return null;
}

View File

@ -34,16 +34,16 @@ class EventIndexPeg {
/**
* Get the current event index.
*
* @Returns The EventIndex object for the application. Can be null
* if the platform doesn't support event indexing.
* @return {EventIndex} The current event index.
*/
get() {
return this.index;
}
/** Create a new EventIndex and initialize it if the platform supports it.
* Returns true if an EventIndex was successfully initialized, false
* otherwise.
*
* @return {Promise<bool>} A promise that will resolve to true if an
* EventIndex was successfully initialized, false otherwise.
*/
async init() {
const indexManager = PlatformPeg.get().getEventIndexingManager();
@ -71,15 +71,27 @@ class EventIndexPeg {
return true;
}
/**
* Stop our event indexer.
*/
stop() {
if (this.index === null) return;
this.index.stop();
this.index = null;
}
/**
* Delete our event indexer.
*
* After a call to this the init() method will need to be called again.
*
* @return {Promise} A promise that will resolve once the event index is
* deleted.
*/
async deleteEventIndex() {
if (this.index === null) return;
this.index.deleteEventIndex();
this.index = null;
}
}

View File

@ -1131,7 +1131,7 @@ module.exports = createReactClass({
this.searchId = new Date().getTime();
let roomId;
if (scope === "Room") roomId = this.state.room.roomId,
if (scope === "Room") roomId = this.state.room.roomId;
debuglog("sending search request");
const searchPromise = eventSearch(term, roomId);