import pool from 'miscellaneous/db' export class Media { id!: number; code!: number; title!: string; released!: string; webImg!: string; } export enum Table { movies = "movies", series = "series", games = "games", } function save(table: Table, code: number, title: string, released: string, webImg: string): number { try { const sql = "INSERT INTO " + table + " (code, title, released, webImg) VALUES (?,?,?,?)"; const result = pool.query(sql).run(code, title, released, webImg); return result.changes; } catch (err) { console.log(err); } return 0; } function updateWebImg(table: Table, code: number, webImg: string): number { try { const sql = "UPDATE " + table + " SET webImg = ? WHERE code = ?;"; const result = pool.query(sql).run(webImg, code); return result.changes; } catch (err) { console.log(err); } return 0; } function findOneAndDelete(table: Table, code: number): number { try { const result = pool.query("DELETE FROM " + table + " WHERE code = ?;").run(code); return result.changes; } catch (err) { console.log(err); } return 0; } function findOne(table: Table, code: number): Media[] { try { const rows = pool.query("SELECT * FROM " + table + " WHERE code = ?;").as(Media).all(code); return rows; } catch (err) { console.log(err); } return []; } function find(table: Table): Media[] { try { const rows = pool.query("SELECT * FROM " + table + ";").as(Media).all(); return rows; } catch (err) { console.log(err); } return []; } export default { save, updateWebImg, findOneAndDelete, findOne, find };