From 661d5cb5b0d6c3aebb9a83ac4c5115d0411b3f39 Mon Sep 17 00:00:00 2001 From: Reto Brunner Date: Fri, 30 Dec 2022 16:06:46 +0100 Subject: [PATCH] messagestorage: remove implementation details from interface The interface should not contain things that aren't the API of the storage interface. Further, rename ISqliteMessageStorage to SearchableMessageStorage, as that's also an implementation detail. We'll never have a second sqlite backend, so the name seems strange. --- server/plugins/messageStorage/sqlite.ts | 10 +++------- server/plugins/messageStorage/types.d.ts | 6 ++---- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/server/plugins/messageStorage/sqlite.ts b/server/plugins/messageStorage/sqlite.ts index fb7d9c3e..698f7c82 100644 --- a/server/plugins/messageStorage/sqlite.ts +++ b/server/plugins/messageStorage/sqlite.ts @@ -8,11 +8,7 @@ import Msg, {Message} from "../../models/msg"; import Client from "../../client"; import Chan, {Channel} from "../../models/chan"; import Helper from "../../helper"; -import type { - SearchResponse, - SearchQuery, - SqliteMessageStorage as ISqliteMessageStorage, -} from "./types"; +import type {SearchResponse, SearchQuery, SearchableMessageStorage} from "./types"; import Network from "../../models/network"; // TODO; type @@ -49,11 +45,11 @@ class Deferred { } } -class SqliteMessageStorage implements ISqliteMessageStorage { - client: Client; +class SqliteMessageStorage implements SearchableMessageStorage { isEnabled: boolean; database!: Database; initDone: Deferred; + client: Client; constructor(client: Client) { this.client = client; diff --git a/server/plugins/messageStorage/types.d.ts b/server/plugins/messageStorage/types.d.ts index 6a038822..acaa041a 100644 --- a/server/plugins/messageStorage/types.d.ts +++ b/server/plugins/messageStorage/types.d.ts @@ -6,7 +6,6 @@ import {Network} from "../../models/network"; import Client from "../../client"; interface MessageStorage { - client: Client; isEnabled: boolean; enable(): Promise; @@ -38,7 +37,6 @@ export type SearchResponse = type SearchFunction = (query: SearchQuery) => Promise; -export interface SqliteMessageStorage extends MessageStorage { - database: Database; - search: SearchFunction | []; +export interface SearchableMessageStorage extends MessageStorage { + search: SearchFunction; }