diff --git a/backend/app.ts b/backend/app.ts
index cb50581..81ddcec 100644
--- a/backend/app.ts
+++ b/backend/app.ts
@@ -5,19 +5,14 @@ const httpPort = 4080;
const app = express();
-// app.set('views', 'views');
-// app.set('view engine', 'hbs');
-
// import morgan from 'morgan'
// app.use(morgan('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static('public'));
-import mainRouter from './routes/main';
import apiRouter from './routes/api/apiRouter';
-app.use('/', mainRouter);
app.use('/api', apiRouter);
app.listen(httpPort, () => {
diff --git a/backend/controllers/mediaController.ts b/backend/controllers/mediaController.ts
index ce1ef18..b6929c8 100644
--- a/backend/controllers/mediaController.ts
+++ b/backend/controllers/mediaController.ts
@@ -1,7 +1,6 @@
import { type Request, type Response } from "express";
import UserModel, { values } from '../models/userModel';
import MediaModel, { Table, Media } from '../models/mediaModel';
-import mediaModel from "../models/mediaModel";
interface omdbRes {
Title: string,
@@ -13,7 +12,14 @@ interface omdbRes {
Year: string,
}
-function fromStringToTable(value: string): (Table | undefined) {
+function fromStringToTable(input: string | string[]): (Table | undefined) {
+ var value = "";
+ if (Array.isArray(input)) {
+ value = input[0];
+ }
+ else {
+ value = input;
+ }
if (value.localeCompare("games") == 0) return Table.games;
if (value.localeCompare("movies") == 0) return Table.movies;
if (value.localeCompare("series") == 0) return Table.series;
@@ -218,22 +224,22 @@ async function checkImages() {
await checkTableImages(Table.movies);
await checkTableImages(Table.series);
}
-function delay(time:number) {
+
+function delay(time: number) {
return new Promise(resolve => setTimeout(resolve, time));
-}
+}
async function checkTableImages(table: Table) {
- const list = mediaModel.find(table);
+ const list = MediaModel.find(table);
for (const element of list) {
-
const path = "./public/" + element.webImg;
const f = Bun.file(path);
const exists = await f.exists();
- if (!exists){
+ if (!exists) {
console.log(element.title);
await downloadImage(element, table);
- await delay(1000);
+ await delay(1000);
}
}
}
diff --git a/backend/controllers/userController.ts b/backend/controllers/userController.ts
deleted file mode 100644
index f8893f3..0000000
--- a/backend/controllers/userController.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { type Request, type Response } from "express";
-import UserModel, { values } from '../models/userModel';
-
-export default {
-
- render: function (req: Request, res: Response) {
- res.render('user', { keys: UserModel.namesOfValues });
- },
-
- create: function (req: Request, res: Response) {
-
- const reqPassword: string = req.body.reqPassword;
- if (!reqPassword) return res.render('user', { keys: UserModel.namesOfValues });
-
- const password = UserModel.getValue(values.pass);
-
- // if no password in db save reqPassword
- if (!password) {
- const affectedRows = UserModel.updateValue("pass", reqPassword);
- if (affectedRows > 0) {
- return res.redirect('/list');
- }
- return res.render('user', { keys: UserModel.namesOfValues });
- }
- // check if passwords equal
- if (password != reqPassword) {
- return res.render('user', { keys: UserModel.namesOfValues });
- }
-
- // update
- const name: string = req.body.name;
- const value: string = req.body.value;
-
- if (!name || !value) {
- return res.render('user', { keys: UserModel.namesOfValues });
- }
-
- const affectedRows = UserModel.updateValue(name, value);
- if (affectedRows == 0) {
- return res.render('user', { keys: UserModel.namesOfValues });
- }
-
- return res.redirect('/list');
- },
-
- get: function (req: Request, res: Response) {
- const usersFound = UserModel.getAll();
- return res.status(200).json(usersFound);
- },
-};
\ No newline at end of file
diff --git a/backend/routes/main.ts b/backend/routes/main.ts
deleted file mode 100644
index 7d6604d..0000000
--- a/backend/routes/main.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import express, { type Request, type Response } from "express";
-
-const router = express.Router();
-
-
-
-//import userRouter from './user';
-//router.use('/user', userRouter);
-
-export default router;
\ No newline at end of file
diff --git a/backend/routes/user.ts b/backend/routes/user.ts
deleted file mode 100644
index 877a0d1..0000000
--- a/backend/routes/user.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import express from "express";
-import userController from 'backend/controllers/userController';
-import checkAuthenticated from 'backend/miscellaneous/checkAuthenticated';
-
-const router = express.Router();
-
-/* GET home page. */
-router.get('/', userController.render);
-
-router.post('/', userController.create);
-
-router.put('/', checkAuthenticated, userController.get);
-
-export default router;
\ No newline at end of file
diff --git a/backend/views/user.hbs b/backend/views/user.hbs
deleted file mode 100644
index 17a835e..0000000
--- a/backend/views/user.hbs
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- User
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build.sh b/build.sh
index cc196c7..a1d451e 100755
--- a/build.sh
+++ b/build.sh
@@ -1,6 +1,5 @@
bun build ./backend/app.ts --outfile=output/app.js --target=bun --minify
bun build ./frontend/list/list.tsx --outfile=output/public/list.js --minify
-cp -r backend/views/ output/
cp -r public/* output/public/
cp mydb.sqlite output/
\ No newline at end of file
diff --git a/bun.lock b/bun.lock
index a052487..645d917 100644
--- a/bun.lock
+++ b/bun.lock
@@ -9,7 +9,6 @@
"@types/morgan": "^1.9.10",
"bun-types": "^1.2.22",
"express": "^5.1.0",
- "hbs": "^4.2.0",
"morgan": "~1.10.1",
"typescript": "^5.9.2",
},
@@ -84,8 +83,6 @@
"finalhandler": ["finalhandler@2.1.1", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA=="],
- "foreachasync": ["foreachasync@3.0.0", "", {}, "sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw=="],
-
"forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="],
"fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="],
@@ -98,14 +95,10 @@
"gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
- "handlebars": ["handlebars@4.7.7", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.0", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA=="],
-
"has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
- "hbs": ["hbs@4.2.0", "", { "dependencies": { "handlebars": "4.7.7", "walk": "2.3.15" } }, "sha512-dQwHnrfWlTk5PvG9+a45GYpg0VpX47ryKF8dULVd6DtwOE6TEcYQXQ5QM6nyOx/h7v3bvEQbdn19EDAcfUAgZg=="],
-
"http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="],
"iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="],
@@ -126,16 +119,12 @@
"mime-types": ["mime-types@3.0.2", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="],
- "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="],
-
"morgan": ["morgan@1.10.1", "", { "dependencies": { "basic-auth": "~2.0.1", "debug": "2.6.9", "depd": "~2.0.0", "on-finished": "~2.3.0", "on-headers": "~1.1.0" } }, "sha512-223dMRJtI/l25dJKWpgij2cMtywuG/WiUKXdvwfbhGKBhy1puASqXwFzmWZ7+K73vUPoR7SS2Qz2cI/g9MKw0A=="],
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
"negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="],
- "neo-async": ["neo-async@2.6.2", "", {}, "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="],
-
"object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="],
"on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="],
@@ -176,8 +165,6 @@
"side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="],
- "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
-
"statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="],
"toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="],
@@ -186,18 +173,12 @@
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
- "uglify-js": ["uglify-js@3.19.3", "", { "bin": { "uglifyjs": "bin/uglifyjs" } }, "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ=="],
-
"undici-types": ["undici-types@7.18.2", "", {}, "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w=="],
"unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="],
"vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="],
- "walk": ["walk@2.3.15", "", { "dependencies": { "foreachasync": "^3.0.0" } }, "sha512-4eRTBZljBfIISK1Vnt69Gvr2w/wc3U6Vtrw7qiN5iqYJPH7LElcYh/iU4XWhdCy2dZqv1ToMyYlybDylfG/5Vg=="],
-
- "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="],
-
"wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
"morgan/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="],
diff --git a/package.json b/package.json
index 952995f..57c5a17 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,6 @@
"@types/express": "^5.0.3",
"@types/morgan": "^1.9.10",
"express": "^5.1.0",
- "hbs": "^4.2.0",
"morgan": "~1.10.1",
"bun-types": "^1.2.22",
"typescript": "^5.9.2"