65 lines
1.4 KiB
TypeScript
65 lines
1.4 KiB
TypeScript
import { Database } from "bun:sqlite";
|
|
|
|
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", "");
|
|
`);
|
|
}
|
|
|
|
inset_keys();
|
|
|
|
export default pool; |