From a85982b093ecf0848cc97bf327c9317933fe742e Mon Sep 17 00:00:00 2001 From: Will Hunt <will@half-shot.uk> Date: Sat, 28 Apr 2018 17:30:46 +0100 Subject: [PATCH] Fix silly errors --- src/bot.ts | 4 ++-- src/db/schema/dbschema.ts | 4 ++-- src/db/schema/v1.ts | 4 ++-- src/db/schema/v2.ts | 4 ++-- src/db/schema/v3.ts | 6 ++++-- src/db/schema/v4.ts | 4 ++-- src/db/schema/v5.ts | 4 ++-- src/store.ts | 16 ++++++++-------- test/mocks/discordclientfactory.ts | 2 +- 9 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/bot.ts b/src/bot.ts index 0e80cd5..1649dd7 100644 --- a/src/bot.ts +++ b/src/bot.ts @@ -47,7 +47,7 @@ export class DiscordBot { new MessageProcessorOpts(this.config.bridge.domain, this), ); this.mxEventProcessor = new MatrixEventProcessor( - new MatrixEventProcessorOpts(this.config, this.msgProcessor, this.bridge), + new MatrixEventProcessorOpts(this.config, this.bridge), ); this.presenceHandler = new PresenceHandler(this); } @@ -64,7 +64,7 @@ export class DiscordBot { return this.bridge.getIntentFromLocalpart(`_discord_${member.id}`); } - public run (): Promise<null> { + public run (): Promise<void> { return this.clientFactory.init().then(() => { return this.clientFactory.getClient(); }).then((client: any) => { diff --git a/src/db/schema/dbschema.ts b/src/db/schema/dbschema.ts index 814e4a4..563aeae 100644 --- a/src/db/schema/dbschema.ts +++ b/src/db/schema/dbschema.ts @@ -1,6 +1,6 @@ import { DiscordStore } from "../../store"; export interface IDbSchema { description: string; - run(store: DiscordStore): Promise<null>; - rollBack(store: DiscordStore): Promise<null>; + run(store: DiscordStore): Promise<null|void|Error|Error[]>; + rollBack(store: DiscordStore): Promise<null|void|Error|Error[]>; } diff --git a/src/db/schema/v1.ts b/src/db/schema/v1.ts index 32446f9..1dcf17f 100644 --- a/src/db/schema/v1.ts +++ b/src/db/schema/v1.ts @@ -2,7 +2,7 @@ import {IDbSchema} from "./dbschema"; import {DiscordStore} from "../../store"; export class Schema implements IDbSchema { public description = "Schema, Client Auth Table"; - public run(store: DiscordStore): Promise<null> { + public run(store: DiscordStore): Promise<Error> { return store.create_table(` CREATE TABLE schema ( version INTEGER UNIQUE NOT NULL @@ -16,7 +16,7 @@ export class Schema implements IDbSchema { );`, "user_tokens"); }); } - public rollBack(store: DiscordStore): Promise<null> { + public rollBack(store: DiscordStore): Promise<Error> { return store.db.execAsync( `DROP TABLE IF EXISTS schema; DROP TABLE IF EXISTS user_tokens`, diff --git a/src/db/schema/v2.ts b/src/db/schema/v2.ts index be22b68..26969a1 100644 --- a/src/db/schema/v2.ts +++ b/src/db/schema/v2.ts @@ -2,7 +2,7 @@ import {IDbSchema} from "./dbschema"; import {DiscordStore} from "../../store"; export class Schema implements IDbSchema { public description = "Create DM Table, User Options"; - public run(store: DiscordStore): Promise<null> { + public run(store: DiscordStore): Promise<Error[]> { return Promise.all([ store.create_table(` CREATE TABLE dm_rooms ( @@ -17,7 +17,7 @@ export class Schema implements IDbSchema { );`, "client_options", )]); } - public rollBack(store: DiscordStore): Promise<null> { + public rollBack(store: DiscordStore): Promise<Error> { return store.db.execAsync( `DROP TABLE IF EXISTS dm_rooms; DROP TABLE IF EXISTS client_options;`, diff --git a/src/db/schema/v3.ts b/src/db/schema/v3.ts index 88de6e9..81b7f73 100644 --- a/src/db/schema/v3.ts +++ b/src/db/schema/v3.ts @@ -34,12 +34,14 @@ export class Schema implements IDbSchema { }); } - public rollBack(store: DiscordStore): Promise <null> { + public rollBack(store: DiscordStore): Promise <void> { return Promise.all([store.db.execAsync( `DROP TABLE IF EXISTS user_id_discord_id;`, ), store.db.execAsync( `DROP TABLE IF EXISTS discord_id_token;`, - )]); + )]).then(() => { + + }); } private async moveUserIds(store: DiscordStore): Promise <null> { diff --git a/src/db/schema/v4.ts b/src/db/schema/v4.ts index 4e097c8..fa493e3 100644 --- a/src/db/schema/v4.ts +++ b/src/db/schema/v4.ts @@ -6,7 +6,7 @@ import * as Bluebird from "bluebird"; export class Schema implements IDbSchema { public description = "create guild emoji table"; - public run(store: DiscordStore): Promise<null> { + public run(store: DiscordStore): Promise<Error> { return store.create_table(` CREATE TABLE guild_emoji ( emoji_id TEXT NOT NULL, @@ -19,7 +19,7 @@ export class Schema implements IDbSchema { );`, "guild_emoji"); } - public rollBack(store: DiscordStore): Promise <null> { + public rollBack(store: DiscordStore): Promise <Error> { return store.db.execAsync( `DROP TABLE IF EXISTS guild_emoji;`, ); diff --git a/src/db/schema/v5.ts b/src/db/schema/v5.ts index 8d6320d..e99eea4 100644 --- a/src/db/schema/v5.ts +++ b/src/db/schema/v5.ts @@ -6,7 +6,7 @@ import * as Bluebird from "bluebird"; export class Schema implements IDbSchema { public description = "create event_store table"; - public run(store: DiscordStore): Promise<null> { + public run(store: DiscordStore): Promise<Error> { return store.create_table(` CREATE TABLE event_store ( matrix_id TEXT NOT NULL, @@ -15,7 +15,7 @@ export class Schema implements IDbSchema { );`, "event_store"); } - public rollBack(store: DiscordStore): Promise <null> { + public rollBack(store: DiscordStore): Promise <Error> { return store.db.execAsync( `DROP TABLE IF EXISTS event_store;`, ); diff --git a/src/store.ts b/src/store.ts index 37ffee1..6ae5d09 100644 --- a/src/store.ts +++ b/src/store.ts @@ -20,7 +20,7 @@ export class DiscordStore { this.filepath = filepath; } - public backup_database(): Promise<null> { + public backup_database(): Promise<void|{}> { if (this.filepath === ":memory:") { log.info("DiscordStore", "Can't backup a :memory: database."); return Promise.resolve(); @@ -37,7 +37,6 @@ export class DiscordStore { if (!result) { log.warn("DiscordStore", "NOT backing up database while a file already exists"); resolve(true); - return; } const rd = fs.createReadStream(this.filepath); rd.on("error", reject); @@ -52,7 +51,7 @@ export class DiscordStore { /** * Checks the database has all the tables needed. */ - public async init (overrideSchema: number = 0) { + public async init (overrideSchema: number = 0): Promise<void> { log.info("DiscordStore", "Starting DB Init"); await this.open_database(); let version = await this.getSchemaVersion(); @@ -95,7 +94,7 @@ export class DiscordStore { }); } - public add_user_token(userId: string, discordId: string, token: string): Promise<null> { + public add_user_token(userId: string, discordId: string, token: string): Promise<any> { log.silly("SQL", "add_user_token => %s", userId); return Promise.all([ this.db.runAsync( @@ -227,7 +226,7 @@ export class DiscordStore { }); } - public Get<T extends IDbData>(dbType: {new(): T; }, params: any): Promise<T> { + public Get<T extends IDbData>(dbType: {new(): T; }, params: any): Promise<T|null> { const dType = new dbType(); log.silly("DiscordStore", `get <${dType.constructor.name} with params ${params}>`); return dType.RunQuery(this, params).then(() => { @@ -235,20 +234,21 @@ export class DiscordStore { return dType; }).catch((ex) => { log.warn("DiscordStore", `get <${dType.constructor.name} with params ${params} FAILED with exception ${ex}>`); + return null; }); } - public Insert<T extends IDbData>(data: T): Promise<null> { + public Insert<T extends IDbData>(data: T): Promise<Error> { log.silly("DiscordStore", `insert <${data.constructor.name}>`); return data.Insert(this); } - public Update<T extends IDbData>(data: T): Promise<null> { + public Update<T extends IDbData>(data: T): Promise<Error> { log.silly("DiscordStore", `insert <${data.constructor.name}>`); return data.Update(this); } - public Delete<T extends IDbData>(data: T): Promise<null> { + public Delete<T extends IDbData>(data: T): Promise<Error> { log.silly("DiscordStore", `insert <${data.constructor.name}>`); return data.Delete(this); } diff --git a/test/mocks/discordclientfactory.ts b/test/mocks/discordclientfactory.ts index 9894f5e..99bb5b2 100644 --- a/test/mocks/discordclientfactory.ts +++ b/test/mocks/discordclientfactory.ts @@ -5,7 +5,7 @@ export class DiscordClientFactory { ; } - public init(): Promise<null> { + public init(): Promise<void> { return Promise.resolve(); } -- GitLab