94 lines
1.6 KiB
Go
94 lines
1.6 KiB
Go
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"log"
|
|
|
|
_ "modernc.org/sqlite"
|
|
)
|
|
|
|
var Pool *sql.DB
|
|
|
|
func init() {
|
|
pool, err := sql.Open("sqlite", "mydb.sqlite")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
Pool = pool
|
|
|
|
mustExec(`
|
|
CREATE TABLE IF NOT EXISTS series (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
code TEXT NOT NULL,
|
|
title TEXT NOT NULL,
|
|
released TEXT NOT NULL,
|
|
webImg TEXT NOT NULL,
|
|
poster TEXT NOT NULL,
|
|
year TEXT NOT NULL
|
|
);
|
|
`)
|
|
|
|
mustExec(`
|
|
CREATE TABLE IF NOT EXISTS movies (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
code TEXT NOT NULL,
|
|
title TEXT NOT NULL,
|
|
released TEXT NOT NULL,
|
|
webImg TEXT NOT NULL,
|
|
poster TEXT NOT NULL,
|
|
year TEXT NOT NULL
|
|
);
|
|
`)
|
|
|
|
mustExec(`
|
|
CREATE TABLE IF NOT EXISTS games (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
code TEXT NOT NULL,
|
|
title TEXT NOT NULL,
|
|
released TEXT NOT NULL,
|
|
webImg TEXT NOT NULL,
|
|
poster TEXT NOT NULL,
|
|
year TEXT NOT NULL
|
|
);
|
|
`)
|
|
|
|
mustExec(`
|
|
CREATE TABLE IF NOT EXISTS userData (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
value TEXT NOT NULL
|
|
);
|
|
`)
|
|
|
|
insertKeys()
|
|
}
|
|
|
|
func mustExec(query string) {
|
|
if _, err := Pool.Exec(query); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func insertKeys() {
|
|
var count int
|
|
if err := Pool.QueryRow("SELECT count(*) FROM userData;").Scan(&count); err != nil {
|
|
log.Println(err)
|
|
return
|
|
}
|
|
if count >= 4 {
|
|
return
|
|
}
|
|
|
|
stmt, err := Pool.Prepare("INSERT INTO userData (name, value) VALUES (?, ?)")
|
|
if err != nil {
|
|
log.Println(err)
|
|
return
|
|
}
|
|
defer stmt.Close()
|
|
|
|
stmt.Exec("pass", "")
|
|
stmt.Exec("omdb_key", "")
|
|
stmt.Exec("twitch_client_id", "")
|
|
stmt.Exec("twitch_client_secret", "")
|
|
}
|