const DataBase = require("better-sqlite3") const logger = require("../modules/logger") const path = require("node:path") const db = new DataBase(path.join(__dirname, "..", "data", "main.db")) function initDB() { db.exec(` CREATE TABLE IF NOT EXISTS banned ( banned_at TEXT DEFAULT CURRENT_TIMESTAMP, last_minecraft_uuid TEXT, hardware_id TEXT, banned_by TEXT, remote_ip TEXT, reason TEXT )`) } function banLauncher(last_minecraft_uuid, hardware_id, banned_by, remote_ip, reason) { const query = ` INSERT INTO banned (last_minecraft_uuid, hardware_id, banned_by, remote_ip, reason) VALUES (?, ?, ?, ?, ?) ` try { const stmt = db.prepare(query) const result = stmt.run(last_minecraft_uuid, hardware_id, banned_by, remote_ip, reason) return true } catch (error) { logger.error("[DATABASE] ") logger.error(error) return false } } function unbanLauncher(hardware_id) { const sql = `DELETE FROM banned WHERE hardware_id = ?` try { const stmt = db.prepare(sql) const result = stmt.run(hardware_id) if (result.changes === 0) { logger.log("[DATABASE] ") logger.log(`No launcher with this hwid<${hardware_id}> is banned`) } return true } catch (err) { logger.error("[DATABASE] ") logger.error(error) } } function getBan(hardware_id) { const query = 'SELECT * FROM banned WHERE hardware_id = ?' const stmt = db.prepare(query) return stmt.get(hardware_id) } module.exports = { initDB, getBan, banLauncher, unbanLauncher }