Move to sqlite

This commit is contained in:
2025-07-16 19:17:34 +02:00
parent 9ff76bd210
commit eef2646054
17 changed files with 182 additions and 217 deletions

View File

@@ -1,9 +1,9 @@
import { type NextFunction, type Request, type Response } from "express";
import userModel, { values } from 'models/userModel';
async function checkAuthenticated(req: Request, res: Response, next: NextFunction) {
function checkAuthenticated(req: Request, res: Response, next: NextFunction) {
const pass = req.body.pass;
const password = await userModel.getValue(values.pass);
const password = userModel.getValue(values.pass);
if (pass && password) {
if (pass == password) {
return next();

View File

@@ -1,34 +1,65 @@
import mysql, { type PoolOptions } from 'mysql2/promise'
import { Database } from "bun:sqlite";
const poolOptions: PoolOptions = {
host: "",
port: 0,
user: "",
password: "",
database: ""
const pool = new Database("mydb.sqlite", { strict: true });
pool.exec(`
CREATE TABLE IF NOT EXISTS series (
id INTEGER PRIMARY KEY AUTOINCREMENT,
code INT NOT NULL,
title TEXT NOT NULL,
released TEXT NOT NULL,
webImg TEXT NOT NULL,
UNIQUE (code)
);
`);
pool.exec(`
CREATE TABLE IF NOT EXISTS movies (
id INTEGER PRIMARY KEY AUTOINCREMENT,
code INT NOT NULL,
title TEXT NOT NULL,
released TEXT NOT NULL,
webImg TEXT NOT NULL,
UNIQUE (code)
);
`);
pool.exec(`
CREATE TABLE IF NOT EXISTS games (
id INTEGER PRIMARY KEY AUTOINCREMENT,
code INT NOT NULL,
title TEXT NOT NULL,
released TEXT NOT NULL,
webImg TEXT NOT NULL,
UNIQUE (code)
);
`);
pool.exec(`
CREATE TABLE IF NOT EXISTS userData (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
value TEXT NOT NULL
);
`);
function inset_keys() {
class co {
count!: number;
}
const result = pool.query("SELECT count(*) as count FROM userData;").as(co).get();
if(result && result.count >= 4){
return;
}
pool.exec(`
INSERT INTO userData (name, value) VALUES ("pass", "");
INSERT INTO userData (name, value) VALUES ("omdb_key", "");
INSERT INTO userData (name, value) VALUES ("twitch_client_id", "");
INSERT INTO userData (name, value) VALUES ("twitch_client_secret", "");
`);
}
if (process.env.DBIP) {
poolOptions.host = process.env.DBIP;
}
if (process.env.DBPort) {
poolOptions.port = parseInt(process.env.DBPort);
}
if (process.env.DBUser) {
poolOptions.user = process.env.DBUser;
}
if (process.env.DBPassword) {
poolOptions.password = process.env.DBPassword;
}
if (process.env.DBDatabase) {
poolOptions.database = process.env.DBDatabase;
}
const pool = mysql.createPool(poolOptions);
inset_keys();
export default pool;