message: BaseEventIndexManager: Add a method to load file events of a room.
diff: @@ -62,11 +62,18 @@ export interface SearchArgs {
  room_id: ?string;
  }
  -export interface HistoricEvent {
  +export interface EventAndProfile {
  event: MatrixEvent;
  profile: MatrixProfile;
  }
  +export interface LoadArgs {
  + roomId: string;
  + limit: number;
  + fromEvent: string;
  + direction: string;
  +}
  +
  /**
  * Base class for classes that provide platform-specific event indexing.
  *
  @@ -145,7 +152,7 @@ export default class BaseEventIndexManager {
  *
  * This is used to add a batch of events to the index.
  *
  - * @param {[HistoricEvent]} events The list of events and profiles that
  + * @param {[EventAndProfile]} events The list of events and profiles that
  * should be added to the event index.
  * @param {[CrawlerCheckpoint]} checkpoint A new crawler checkpoint that
  * should be stored in the index which should be used to continue crawling
  @@ -158,7 +165,7 @@ export default class BaseEventIndexManager {
  * were already added to the index, false otherwise.
  */
  async addHistoricEvents(
  - events: [HistoricEvent],
  + events: [EventAndProfile],
  checkpoint: CrawlerCheckpoint | null,
  oldCheckpoint: CrawlerCheckpoint | null,
  ): Promise<bool> {
  @@ -201,6 +208,23 @@ export default class BaseEventIndexManager {
  throw new Error("Unimplemented");
  }
  + /** Load events that contain an mxc URL to a file from the index.
  + *
  + * @param {object} args Arguments object for the method.
  + * @param {string} args.roomId The ID of the room for which the events
  + * should be loaded.
  + * @param {number} args.limit The maximum number of events to return.
  + * @param {string} args.fromEvent An event id of a previous event returned
  + * by this method. If set events that are older than the event with the
  + * given event ID will be returned.
  + *
  + * @return {Promise<[EventAndProfile]>} A promise that will resolve to an array
  + * of Matrix events that contain mxc URLs.
  + */
  + async loadFileEvents(args: LoadArgs): Promise<[EventAndProfile]> {
  + throw new Error("Unimplemented");
  + }
  +
  /**
  * close our event index.
  *
  