summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--package-lock.json145
-rw-r--r--package.json3
-rw-r--r--src/util/util/Database.ts13
3 files changed, 121 insertions, 40 deletions
diff --git a/package-lock.json b/package-lock.json
index 43a1114e..3713fc53 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -82,8 +82,7 @@
 				"erlpack": "^0.1.4",
 				"nodemailer-mailgun-transport": "^2.1.5",
 				"nodemailer-mailjet-transport": "github:n0script22/nodemailer-mailjet-transport",
-				"nodemailer-sendgrid-transport": "github:Maria-Golomb/nodemailer-sendgrid-transport",
-				"sqlite3": "^5.1.6"
+				"nodemailer-sendgrid-transport": "github:Maria-Golomb/nodemailer-sendgrid-transport"
 			}
 		},
 		"node_modules/@acuminous/bitsyntax": {
@@ -1580,7 +1579,8 @@
 			"version": "1.1.3",
 			"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
 			"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/@hexagon/base64": {
 			"version": "1.1.26",
@@ -1701,6 +1701,7 @@
 			"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
 			"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"@gar/promisify": "^1.0.1",
 				"semver": "^7.3.5"
@@ -1712,6 +1713,7 @@
 			"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
 			"deprecated": "This functionality has been moved to @npmcli/fs",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"mkdirp": "^1.0.4",
 				"rimraf": "^3.0.2"
@@ -1725,6 +1727,7 @@
 			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
 			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
 			"optional": true,
+			"peer": true,
 			"bin": {
 				"mkdirp": "bin/cmd.js"
 			},
@@ -2455,6 +2458,7 @@
 			"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
 			"integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"debug": "^4.1.0",
 				"depd": "^2.0.0",
@@ -2469,6 +2473,7 @@
 			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
 			"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"clean-stack": "^2.0.0",
 				"indent-string": "^4.0.0"
@@ -3016,6 +3021,7 @@
 			"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
 			"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"@npmcli/fs": "^1.0.0",
 				"@npmcli/move-file": "^1.0.1",
@@ -3045,6 +3051,7 @@
 			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"yallist": "^4.0.0"
 			},
@@ -3057,6 +3064,7 @@
 			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
 			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
 			"optional": true,
+			"peer": true,
 			"bin": {
 				"mkdirp": "bin/cmd.js"
 			},
@@ -3068,7 +3076,8 @@
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/call-bind": {
 			"version": "1.0.2",
@@ -3184,6 +3193,7 @@
 			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
 			"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
 			"optional": true,
+			"peer": true,
 			"engines": {
 				"node": ">=6"
 			}
@@ -3763,6 +3773,7 @@
 			"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
 			"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"iconv-lite": "^0.6.2"
 			}
@@ -3781,6 +3792,7 @@
 			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"safer-buffer": ">= 2.1.2 < 3.0.0"
 			},
@@ -3813,6 +3825,7 @@
 			"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
 			"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
 			"optional": true,
+			"peer": true,
 			"engines": {
 				"node": ">=6"
 			}
@@ -3832,7 +3845,8 @@
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
 			"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/escalade": {
 			"version": "3.1.1",
@@ -4848,7 +4862,8 @@
 			"version": "4.1.1",
 			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
 			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/http-errors": {
 			"version": "2.0.0",
@@ -4904,6 +4919,7 @@
 			"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
 			"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"ms": "^2.0.0"
 			}
@@ -5038,6 +5054,7 @@
 			"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
 			"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
 			"optional": true,
+			"peer": true,
 			"engines": {
 				"node": ">=8"
 			}
@@ -5046,7 +5063,8 @@
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
 			"integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/inflight": {
 			"version": "1.0.6",
@@ -5114,7 +5132,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
 			"integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/is-number": {
 			"version": "7.0.0",
@@ -5425,6 +5444,7 @@
 			"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
 			"integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"agentkeepalive": "^4.1.3",
 				"cacache": "^15.2.0",
@@ -5452,6 +5472,7 @@
 			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"yallist": "^4.0.0"
 			},
@@ -5464,6 +5485,7 @@
 			"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
 			"integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"agent-base": "^6.0.2",
 				"debug": "^4.3.3",
@@ -5477,7 +5499,8 @@
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/media-typer": {
 			"version": "0.3.0",
@@ -5614,6 +5637,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
 			"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"minipass": "^3.0.0"
 			},
@@ -5626,6 +5650,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
 			"integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"minipass": "^3.1.0",
 				"minipass-sized": "^1.0.3",
@@ -5643,6 +5668,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
 			"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"minipass": "^3.0.0"
 			},
@@ -5655,6 +5681,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
 			"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"minipass": "^3.0.0"
 			},
@@ -5667,6 +5694,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
 			"integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"minipass": "^3.0.0"
 			},
@@ -5935,6 +5963,7 @@
 			"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
 			"integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"env-paths": "^2.2.0",
 				"glob": "^7.1.4",
@@ -5970,6 +5999,7 @@
 			"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
 			"integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"delegates": "^1.0.0",
 				"readable-stream": "^3.6.0"
@@ -5983,6 +6013,7 @@
 			"resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
 			"integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"aproba": "^1.0.3 || ^2.0.0",
 				"color-support": "^1.1.3",
@@ -6002,6 +6033,7 @@
 			"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
 			"integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"are-we-there-yet": "^3.0.0",
 				"console-control-strings": "^1.1.0",
@@ -6017,6 +6049,7 @@
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
 			"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"inherits": "^2.0.3",
 				"string_decoder": "^1.1.1",
@@ -6044,13 +6077,15 @@
 					"url": "https://feross.org/support"
 				}
 			],
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/node-gyp/node_modules/string_decoder": {
 			"version": "1.3.0",
 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
 			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"safe-buffer": "~5.2.0"
 			}
@@ -6312,6 +6347,7 @@
 			"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
 			"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"aggregate-error": "^3.0.0"
 			},
@@ -6647,13 +6683,15 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
 			"integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/promise-retry": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
 			"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"err-code": "^2.0.2",
 				"retry": "^0.12.0"
@@ -6935,6 +6973,7 @@
 			"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
 			"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
 			"optional": true,
+			"peer": true,
 			"engines": {
 				"node": ">= 4"
 			}
@@ -7264,6 +7303,7 @@
 			"integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==",
 			"hasInstallScript": true,
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"@mapbox/node-pre-gyp": "^1.0.0",
 				"node-addon-api": "^4.2.0",
@@ -7285,13 +7325,15 @@
 			"version": "4.3.0",
 			"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
 			"integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"node_modules/ssri": {
 			"version": "8.0.1",
 			"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
 			"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"minipass": "^3.1.1"
 			},
@@ -8116,6 +8158,7 @@
 			"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
 			"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"unique-slug": "^2.0.0"
 			}
@@ -8125,6 +8168,7 @@
 			"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
 			"integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
 			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"imurmurhash": "^0.1.4"
 			}
@@ -9636,7 +9680,8 @@
 			"version": "1.1.3",
 			"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
 			"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"@hexagon/base64": {
 			"version": "1.1.26",
@@ -9732,6 +9777,7 @@
 			"resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz",
 			"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"@gar/promisify": "^1.0.1",
 				"semver": "^7.3.5"
@@ -9742,6 +9788,7 @@
 			"resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
 			"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"mkdirp": "^1.0.4",
 				"rimraf": "^3.0.2"
@@ -9751,7 +9798,8 @@
 					"version": "1.0.4",
 					"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
 					"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-					"optional": true
+					"optional": true,
+					"peer": true
 				}
 			}
 		},
@@ -10347,6 +10395,7 @@
 			"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz",
 			"integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"debug": "^4.1.0",
 				"depd": "^2.0.0",
@@ -10358,6 +10407,7 @@
 			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
 			"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"clean-stack": "^2.0.0",
 				"indent-string": "^4.0.0"
@@ -10760,6 +10810,7 @@
 			"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
 			"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"@npmcli/fs": "^1.0.0",
 				"@npmcli/move-file": "^1.0.1",
@@ -10786,6 +10837,7 @@
 					"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 					"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"yallist": "^4.0.0"
 					}
@@ -10794,13 +10846,15 @@
 					"version": "1.0.4",
 					"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
 					"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-					"optional": true
+					"optional": true,
+					"peer": true
 				},
 				"yallist": {
 					"version": "4.0.0",
 					"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 					"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-					"optional": true
+					"optional": true,
+					"peer": true
 				}
 			}
 		},
@@ -10887,7 +10941,8 @@
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
 			"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"cli-highlight": {
 			"version": "2.1.11",
@@ -11323,6 +11378,7 @@
 			"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
 			"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"iconv-lite": "^0.6.2"
 			},
@@ -11332,6 +11388,7 @@
 					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
 					"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"safer-buffer": ">= 2.1.2 < 3.0.0"
 					}
@@ -11362,7 +11419,8 @@
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
 			"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"erlpack": {
 			"version": "0.1.4",
@@ -11378,7 +11436,8 @@
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
 			"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"escalade": {
 			"version": "3.1.1",
@@ -12138,7 +12197,8 @@
 			"version": "4.1.1",
 			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
 			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"http-errors": {
 			"version": "2.0.0",
@@ -12182,6 +12242,7 @@
 			"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
 			"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"ms": "^2.0.0"
 			}
@@ -12257,13 +12318,15 @@
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
 			"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"infer-owner": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
 			"integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"inflight": {
 			"version": "1.0.6",
@@ -12319,7 +12382,8 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
 			"integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"is-number": {
 			"version": "7.0.0",
@@ -12581,6 +12645,7 @@
 			"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz",
 			"integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"agentkeepalive": "^4.1.3",
 				"cacache": "^15.2.0",
@@ -12605,6 +12670,7 @@
 					"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 					"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"yallist": "^4.0.0"
 					}
@@ -12614,6 +12680,7 @@
 					"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz",
 					"integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"agent-base": "^6.0.2",
 						"debug": "^4.3.3",
@@ -12624,7 +12691,8 @@
 					"version": "4.0.0",
 					"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 					"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-					"optional": true
+					"optional": true,
+					"peer": true
 				}
 			}
 		},
@@ -12728,6 +12796,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
 			"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"minipass": "^3.0.0"
 			}
@@ -12737,6 +12806,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz",
 			"integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"encoding": "^0.1.12",
 				"minipass": "^3.1.0",
@@ -12749,6 +12819,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
 			"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"minipass": "^3.0.0"
 			}
@@ -12758,6 +12829,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
 			"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"minipass": "^3.0.0"
 			}
@@ -12767,6 +12839,7 @@
 			"resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
 			"integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"minipass": "^3.0.0"
 			}
@@ -12986,6 +13059,7 @@
 			"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz",
 			"integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"env-paths": "^2.2.0",
 				"glob": "^7.1.4",
@@ -13004,6 +13078,7 @@
 					"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
 					"integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"delegates": "^1.0.0",
 						"readable-stream": "^3.6.0"
@@ -13014,6 +13089,7 @@
 					"resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
 					"integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"aproba": "^1.0.3 || ^2.0.0",
 						"color-support": "^1.1.3",
@@ -13030,6 +13106,7 @@
 					"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
 					"integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"are-we-there-yet": "^3.0.0",
 						"console-control-strings": "^1.1.0",
@@ -13042,6 +13119,7 @@
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
 					"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"inherits": "^2.0.3",
 						"string_decoder": "^1.1.1",
@@ -13052,13 +13130,15 @@
 					"version": "5.2.1",
 					"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
 					"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-					"optional": true
+					"optional": true,
+					"peer": true
 				},
 				"string_decoder": {
 					"version": "1.3.0",
 					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
 					"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
 					"optional": true,
+					"peer": true,
 					"requires": {
 						"safe-buffer": "~5.2.0"
 					}
@@ -13268,6 +13348,7 @@
 			"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
 			"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"aggregate-error": "^3.0.0"
 			}
@@ -13505,13 +13586,15 @@
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
 			"integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"promise-retry": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
 			"integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"err-code": "^2.0.2",
 				"retry": "^0.12.0"
@@ -13716,7 +13799,8 @@
 			"version": "0.12.0",
 			"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
 			"integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
-			"optional": true
+			"optional": true,
+			"peer": true
 		},
 		"reusify": {
 			"version": "1.0.4",
@@ -13954,6 +14038,7 @@
 			"resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.6.tgz",
 			"integrity": "sha512-olYkWoKFVNSSSQNvxVUfjiVbz3YtBwTJj+mfV5zpHmqW3sELx2Cf4QCdirMelhM5Zh+KDVaKgQHqCxrqiWHybw==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"@mapbox/node-pre-gyp": "^1.0.0",
 				"node-addon-api": "^4.2.0",
@@ -13965,7 +14050,8 @@
 					"version": "4.3.0",
 					"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz",
 					"integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==",
-					"optional": true
+					"optional": true,
+					"peer": true
 				}
 			}
 		},
@@ -13974,6 +14060,7 @@
 			"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
 			"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"minipass": "^3.1.1"
 			}
@@ -14512,6 +14599,7 @@
 			"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
 			"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"unique-slug": "^2.0.0"
 			}
@@ -14521,6 +14609,7 @@
 			"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
 			"integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
 			"optional": true,
+			"peer": true,
 			"requires": {
 				"imurmurhash": "^0.1.4"
 			}
diff --git a/package.json b/package.json
index 101a5f53..85edb0e5 100644
--- a/package.json
+++ b/package.json
@@ -116,7 +116,6 @@
 		"erlpack": "^0.1.4",
 		"nodemailer-mailgun-transport": "^2.1.5",
 		"nodemailer-mailjet-transport": "github:n0script22/nodemailer-mailjet-transport",
-		"nodemailer-sendgrid-transport": "github:Maria-Golomb/nodemailer-sendgrid-transport",
-		"sqlite3": "^5.1.6"
+		"nodemailer-sendgrid-transport": "github:Maria-Golomb/nodemailer-sendgrid-transport"
 	}
 }
diff --git a/src/util/util/Database.ts b/src/util/util/Database.ts
index 5d48ac03..1cf7adfd 100644
--- a/src/util/util/Database.ts
+++ b/src/util/util/Database.ts
@@ -36,17 +36,10 @@ if (!process.env) {
 const dbConnectionString =
 	process.env.DATABASE || path.join(process.cwd(), "database.db");
 
-let DatabaseType = dbConnectionString.includes("://")
+const DatabaseType = dbConnectionString.includes("://")
 	? dbConnectionString.split(":")[0]?.replace("+srv", "")
-	: "sqlite";
-
-if (DatabaseType === "sqlite") {
-	try {
-		require("better-sqlite3");
-		DatabaseType = "better-sqlite3";
-		// eslint-disable-next-line no-empty
-	} catch (error) {}
-}
+	: "better-sqlite";
+
 const isSqlite = DatabaseType.includes("sqlite");
 
 const DataSourceOptions = new DataSource({