mobidev-thelounge
Version:
The self-hosted Web IRC client
27 lines (26 loc) • 1.16 kB
TypeScript
import type { Database } from "sqlite3";
import Msg from "../../models/msg";
import Client from "../../client";
import Chan, { Channel } from "../../models/chan";
import type { SearchResponse, SearchQuery, SqliteMessageStorage as ISqliteMessageStorage } from "./types";
import Network from "../../models/network";
declare class SqliteMessageStorage implements ISqliteMessageStorage {
client: Client;
isEnabled: boolean;
database: Database;
constructor(client: Client);
enable(): void;
close(callback?: (error?: Error | null) => void): void;
index(network: Network, channel: Chan, msg: Msg): void;
deleteChannel(network: Network, channel: Channel): void;
/**
* Load messages for given channel on a given network and resolve a promise with loaded messages.
*
* @param Network network - Network object where the channel is
* @param Chan channel - Channel object for which to load messages for
*/
getMessages(network: Network, channel: Channel): Promise<Msg[]>;
search(query: SearchQuery): Promise<SearchResponse | []>;
canProvideMessages(): boolean;
}
export default SqliteMessageStorage;