UNPKG

mobidev-thelounge

Version:

The self-hosted Web IRC client

27 lines (26 loc) 1.16 kB
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;