diff --git a/src/db/sqlite3.ts b/src/db/sqlite3.ts index 9076798fe57a9661b80ae610ef9ea8276577ddf7..35ad00e86be68fb79c24eef78465052794d29ba1 100644 --- a/src/db/sqlite3.ts +++ b/src/db/sqlite3.ts @@ -14,7 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -import * as Database from "better-sqlite3"; +import * as BetterSQLite3 from "better-sqlite3"; +import { Database } from "better-sqlite3"; import { Log } from "../log"; import { IDatabaseConnector, ISqlCommandParameters, ISqlRow } from "./connector"; const log = new Log("SQLite3"); @@ -27,7 +28,8 @@ export class SQLite3 implements IDatabaseConnector { public async Open() { log.info(`Opening ${this.filename}`); - this.db = new Database(this.filename); + + this.db = new BetterSQLite3(this.filename); } public async Get(sql: string, parameters?: ISqlCommandParameters): Promise<ISqlRow|null> { @@ -42,7 +44,7 @@ export class SQLite3 implements IDatabaseConnector { public async Run(sql: string, parameters?: ISqlCommandParameters): Promise<void> { log.silly("Run:", sql); - return this.db.prepare(sql).run(parameters || []); + await this.db.prepare(sql).run(parameters || []); } public async Close(): Promise<void> { @@ -51,6 +53,6 @@ export class SQLite3 implements IDatabaseConnector { public async Exec(sql: string): Promise<void> { log.silly("Exec:", sql); - return this.db.exec(sql); + await this.db.exec(sql); } } diff --git a/yarn.lock b/yarn.lock index d1465c3c9f02bd6cf5e2f89acc9345646c3a79e3..a90ac206a933f204db228230b9385bc1170edfff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -235,6 +235,13 @@ dependencies: defer-to-connect "^2.0.0" +"@types/better-sqlite3@^5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-5.4.1.tgz#d45600bc19f8f41397263d037ca9b0d05df85e58" + integrity sha512-8hje3Rhsg/9veTkALfCwiWn7VMrP1QDwHhBSgerttYPABEvrHsMQnU9dlqoM6QX3x4uw3Y06dDVz8uDQo1J4Ng== + dependencies: + "@types/integer" "*" + "@types/body-parser@*": version "1.19.0" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" @@ -294,6 +301,11 @@ resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== +"@types/integer@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/integer/-/integer-1.0.1.tgz#025d87e30d97f539fcc6087372af7d3672ffbbe6" + integrity sha512-DmZDpSVnsuBrOhtHwE1oKmUJ3qVjHhhNQ7WnZy9/RhH3A24Ar+9o4SoaCWcTzQhalpRDIAMsfdoZLWNJtdBR7A== + "@types/js-yaml@^3.12.4": version "3.12.5" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.5.tgz#136d5e6a57a931e1cce6f9d8126aa98a9c92a6bb" @@ -369,13 +381,6 @@ "@types/mime" "*" "@types/node" "*" -"@types/sqlite3@^3.1.6": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@types/sqlite3/-/sqlite3-3.1.6.tgz#554ce76f886eb187cfc86e2f0bb67cbac4f568ce" - integrity sha512-OBsK0KIGUICExQ/ZvnPY4cKx5Kz4NcrVyGTIvOL5y4ajXu7r++RfBajfpGfGDmDVCKcoCDX1dO84/oeyeITnxA== - dependencies: - "@types/node" "*" - "@ungap/promise-all-settled@1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" @@ -2075,16 +2080,16 @@ matrix-bot-sdk@0.5.4: request-promise "^4.2.5" sanitize-html "^1.20.1" -matrix-discord-parser@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/matrix-discord-parser/-/matrix-discord-parser-0.1.4.tgz#5af06615e4ace206f833aebf38f3ff1fc30a212e" - integrity sha512-slwMf3mJP3bcvFtzwbe7E3UP74y8EAKUgQ2MWthXsT7V/plaQQQdVwfAk/I5fePGpkcyWHBhF7Odn9mDK3OPLg== +matrix-discord-parser@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/matrix-discord-parser/-/matrix-discord-parser-0.1.5.tgz#dd6a481a569567e8e30d70599d4dcb173261504c" + integrity sha512-SilBNcNeJCrL6XEHVfbOhupNJICFdyFWfwv85Wtyh1Xxc0XPv4zK/gpEPogVeuKJD3TE0KT4iHq0nLgUJ8GBiQ== dependencies: discord-markdown "git://github.com/Sorunome/discord-markdown.git#7958a03a952ed02cbd588b09eb04bc070b3a11f2" escape-html "^1.0.3" got "^11.6.0" highlight.js "^9.18.1" - node-html-parser "^1.2.15" + node-html-parser "^1.4.5" unescape-html "^1.1.0" media-typer@0.3.0: @@ -2284,13 +2289,20 @@ node-fetch@^2.6.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-html-parser@^1.2.15, node-html-parser@^1.2.19: +node-html-parser@^1.2.19: version "1.4.2" resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.2.tgz#391f5a9a13fa152b67bab6dc951327adc5965e30" integrity sha512-Vpau3BwNoJZFBshIUbceT1SYPYAxlPOawbn2xXneMjQd4G+Qu4BQ2+gFiENQ4Dr2fI/j2iCC45P//qBtfkdZGg== dependencies: he "1.2.0" +node-html-parser@^1.4.5: + version "1.4.5" + resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.5.tgz#0697045ccaf4e5f8f99b78d0a5579d096b7da6d2" + integrity sha512-sNm4Tdc8zj5HnFtkNEcK/1tpvyfRxEuz1d4rkVceGPeMTfzd2twPTiEo/UbqxOexSt9AzJ/cvQXSTj7fa6Ey1w== + dependencies: + he "1.2.0" + node-preload@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301"