diff --git a/cvmts/package.json b/cvmts/package.json index d33241a..cf9497c 100644 --- a/cvmts/package.json +++ b/cvmts/package.json @@ -17,9 +17,9 @@ "@maxmind/geoip2-node": "^5.0.0", "execa": "^8.0.1", "ip-address": "^9.0.5", + "mariadb": "^3.3.1", "mnemonist": "^0.39.5", "msgpackr": "^1.10.2", - "mysql2": "^3.11.0", "pino": "^9.3.1", "sharp": "^0.33.3", "toml": "^3.0.0", diff --git a/cvmts/src/Database.ts b/cvmts/src/Database.ts index 8862964..9049b54 100644 --- a/cvmts/src/Database.ts +++ b/cvmts/src/Database.ts @@ -1,17 +1,17 @@ import pino, { Logger } from "pino"; import { MySQLConfig } from "./IConfig"; -import * as mysql from 'mysql2/promise'; +import mariadb from 'mariadb'; export class Database { cfg: MySQLConfig; logger: Logger; - db: mysql.Pool; + db: mariadb.Pool; constructor(config: MySQLConfig) { this.cfg = config; this.logger = pino({ name: "CVMTS.Database" }); - this.db = mysql.createPool({ + this.db = mariadb.createPool({ host: this.cfg.host, user: this.cfg.username, password: this.cfg.password, @@ -37,8 +37,8 @@ export class Database { async isIPBanned(ip: string): Promise { let conn = await this.db.getConnection(); - let res = (await conn.query('SELECT COUNT(ip) AS cnt FROM bans WHERE ip = ?', [ip])) as mysql.RowDataPacket; + let res = (await conn.query('SELECT COUNT(ip) AS cnt FROM bans WHERE ip = ?', [ip])); conn.release(); - return res[0][0]['cnt'] !== 0; + return res[0]['cnt'] !== 0n; } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index c949ce1..6d8793f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -83,9 +83,9 @@ __metadata: "@types/ws": "npm:^8.5.5" execa: "npm:^8.0.1" ip-address: "npm:^9.0.5" + mariadb: "npm:^3.3.1" mnemonist: "npm:^0.39.5" msgpackr: "npm:^1.10.2" - mysql2: "npm:^3.11.0" pino: "npm:^9.3.1" pino-pretty: "npm:^11.2.1" prettier: "npm:^3.2.5" @@ -1473,6 +1473,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:^7946.0.14": + version: 7946.0.14 + resolution: "@types/geojson@npm:7946.0.14" + checksum: 10c0/54f3997708fa2970c03eeb31f7e4540a0eb6387b15e9f8a60513a1409c23cafec8d618525404573468b59c6fecbfd053724b3327f7fca416729c26271d799f55 + languageName: node + linkType: hard + "@types/jsbn@npm:^1.2.33": version: 1.2.33 resolution: "@types/jsbn@npm:1.2.33" @@ -1489,7 +1496,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.12.5, @types/node@npm:^20.14.10": +"@types/node@npm:^20.11.17, @types/node@npm:^20.12.5, @types/node@npm:^20.14.10": version: 20.14.14 resolution: "@types/node@npm:20.14.14" dependencies: @@ -1619,13 +1626,6 @@ __metadata: languageName: node linkType: hard -"aws-ssl-profiles@npm:^1.1.1": - version: 1.1.1 - resolution: "aws-ssl-profiles@npm:1.1.1" - checksum: 10c0/a2889bae943fed1629350cbe7979e9da507c89c57b554b159844f369fa92bd9b0a344e63540f40770a0957d4f58f80a98a83c300cd86b163d3f30cbdc7edb8bd - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -2292,15 +2292,6 @@ __metadata: languageName: node linkType: hard -"generate-function@npm:^2.3.1": - version: 2.3.1 - resolution: "generate-function@npm:2.3.1" - dependencies: - is-property: "npm:^1.0.2" - checksum: 10c0/4645cf1da90375e46a6f1dc51abc9933e5eafa4cd1a44c2f7e3909a30a4e9a1a08c14cd7d5b32da039da2dba2a085e1ed4597b580c196c3245b2d35d8bc0de5d - languageName: node - linkType: hard - "get-port@npm:^4.2.0": version: 4.2.0 resolution: "get-port@npm:4.2.0" @@ -2610,13 +2601,6 @@ __metadata: languageName: node linkType: hard -"is-property@npm:^1.0.2": - version: 1.0.2 - resolution: "is-property@npm:1.0.2" - checksum: 10c0/33ab65a136e4ba3f74d4f7d9d2a013f1bd207082e11cedb160698e8d5394644e873c39668d112a402175ccbc58a087cef87198ed46829dbddb479115a0257283 - languageName: node - linkType: hard - "is-stream@npm:^3.0.0": version: 3.0.0 resolution: "is-stream@npm:3.0.0" @@ -2873,13 +2857,6 @@ __metadata: languageName: node linkType: hard -"long@npm:^5.2.1": - version: 5.2.3 - resolution: "long@npm:5.2.3" - checksum: 10c0/6a0da658f5ef683b90330b1af76f06790c623e148222da9d75b60e266bbf88f803232dd21464575681638894a84091616e7f89557aa087fd14116c0f4e0e43d9 - languageName: node - linkType: hard - "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" @@ -2894,20 +2871,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.14.1": - version: 7.18.3 - resolution: "lru-cache@npm:7.18.3" - checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed - languageName: node - linkType: hard - -"lru-cache@npm:^8.0.0": - version: 8.0.5 - resolution: "lru-cache@npm:8.0.5" - checksum: 10c0/cd95a9c38497611c5a6453de39a881f6eb5865851a2a01b5f14104ff3fee515362a7b1e7de28606028f423802910ba05bdb8ae1aa7b0d54eae70c92f0cec10b2 - languageName: node - linkType: hard - "make-fetch-happen@npm:^13.0.0": version: 13.0.1 resolution: "make-fetch-happen@npm:13.0.1" @@ -2928,6 +2891,19 @@ __metadata: languageName: node linkType: hard +"mariadb@npm:^3.3.1": + version: 3.3.1 + resolution: "mariadb@npm:3.3.1" + dependencies: + "@types/geojson": "npm:^7946.0.14" + "@types/node": "npm:^20.11.17" + denque: "npm:^2.1.0" + iconv-lite: "npm:^0.6.3" + lru-cache: "npm:^10.2.0" + checksum: 10c0/980358fd69be905b1f8e69a685c70bc8c7accedac3ab6aff8742e3f3dec649b7cedb060d7c834a460fc6c48f56eca2125b0fcb9e64198cbb54c69a85c3fdc9ee + languageName: node + linkType: hard + "maxmind@npm:^4.2.0": version: 4.3.21 resolution: "maxmind@npm:4.3.21" @@ -3153,32 +3129,6 @@ __metadata: languageName: node linkType: hard -"mysql2@npm:^3.11.0": - version: 3.11.0 - resolution: "mysql2@npm:3.11.0" - dependencies: - aws-ssl-profiles: "npm:^1.1.1" - denque: "npm:^2.1.0" - generate-function: "npm:^2.3.1" - iconv-lite: "npm:^0.6.3" - long: "npm:^5.2.1" - lru-cache: "npm:^8.0.0" - named-placeholders: "npm:^1.1.3" - seq-queue: "npm:^0.0.5" - sqlstring: "npm:^2.3.2" - checksum: 10c0/7cc408ecfce01cda0692e72879e9812855a91b03940ac4e8acb715c55f25f8d262a05df5fe25fe3b707a1f40a61e68cde5c3e00b6a81343b00f9595bd4adc790 - languageName: node - linkType: hard - -"named-placeholders@npm:^1.1.3": - version: 1.1.3 - resolution: "named-placeholders@npm:1.1.3" - dependencies: - lru-cache: "npm:^7.14.1" - checksum: 10c0/cd83b4bbdf358b2285e3c51260fac2039c9d0546632b8a856b3eeabd3bfb3d5b597507ab319b97c281a4a70d748f38bc66fa218a61cb44f55ad997ad5d9c9935 - languageName: node - linkType: hard - "negotiator@npm:^0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" @@ -3737,13 +3687,6 @@ __metadata: languageName: node linkType: hard -"seq-queue@npm:^0.0.5": - version: 0.0.5 - resolution: "seq-queue@npm:0.0.5" - checksum: 10c0/ec870fc392f0e6e99ec0e551c3041c1a66144d1580efabae7358e572de127b0ad2f844c95a4861d2e6203f836adea4c8196345b37bed55331ead8f22d99ac84c - languageName: node - linkType: hard - "sharp@npm:^0.33.3": version: 0.33.4 resolution: "sharp@npm:0.33.4" @@ -3910,13 +3853,6 @@ __metadata: languageName: node linkType: hard -"sqlstring@npm:^2.3.2": - version: 2.3.3 - resolution: "sqlstring@npm:2.3.3" - checksum: 10c0/3b5dd7badb3d6312f494cfa6c9a381ee630fbe3dbd571c4c9eb8ecdb99a7bf5a1f7a5043191d768797f6b3c04eed5958ac6a5f948b998f0a138294c6d3125fbd - languageName: node - linkType: hard - "srcset@npm:4": version: 4.0.0 resolution: "srcset@npm:4.0.0"