82 lines
1.6 KiB
TypeScript
82 lines
1.6 KiB
TypeScript
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
|
|
}; |