From 2d795b680b71b47abc0f1be1253a872ffe8c58b5 Mon Sep 17 00:00:00 2001 From: grey Date: Mon, 11 Apr 2022 20:34:02 +0200 Subject: [PATCH] - add edit button --- .gitignore | 5 +- database.sqlite | Bin 20480 -> 53248 bytes index.js | 57 ++++++++++++----- template/editDetails.html | 125 +++++++++++++++++++++++++++++++++++++ template/movieDetails.html | 10 ++- 5 files changed, 180 insertions(+), 17 deletions(-) create mode 100644 template/editDetails.html diff --git a/.gitignore b/.gitignore index 9be5eda..26f9300 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,7 @@ node_modules/ *.sqllite testStuff/ chache.bin -key.cfg \ No newline at end of file +key.cfg +database2.sqlite +database.sqlite +old.sqlite diff --git a/database.sqlite b/database.sqlite index f474932bd56ebec57841972ceec330bd754b9791..adca4ba06ae51b1496ddab75552a4d28b619a2f8 100644 GIT binary patch literal 53248 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 Yk#D_l)2~PusSA+LB%Q??WB%X&0+(KXGXMYp delta 210 zcmZozz}&Eaae_3j7y|<0E{;Z~^?fVWU9_4Uv$UCCaed#?TW8}r7$8Q14ck21mjwXFJv}D? diff --git a/index.js b/index.js index 515cc8c..9be3817 100644 --- a/index.js +++ b/index.js @@ -3,13 +3,12 @@ const Eta = require("eta"); const fs = require("fs"); const request = require("request"); const imdb = require("imdb-api"); -const sqlite3 = require("sqlite3"); const requestSync = require("sync-request"); var Config = require('config-js'); const app = express(); const PrismaClient = require('@prisma/client').PrismaClient; const port = 4000; -const eanConvAdress = "http://192.168.178.51:9999/" +const eanConvAdress = "http://127.0.0.1:9999/" const typeIndex = {0: "Physical", 1: "Digital - Maxdome", 2: "Digital - Amazon Prime Video", 3: "Digital - DVR"} @@ -19,17 +18,6 @@ var responseBuffer = { allBufferd: [] }; responseBuffer = JSON.parse(fs.readFileSync("chache.bin", "utf8")); -var db = new sqlite3.Database("database.sqlite"); -if (!fs.existsSync("database.sqlite")) { - console.log("Creating table."); - db.serialize(() => { - db.run(initalTableSQL); - //db.run(initalTableSQL2); - }); -} -db.close(); -var db = new sqlite3.Database("database.sqlite"); - var config = new Config('key.cfg'); @@ -55,10 +43,13 @@ app.get("/add", function (req, res) { }); app.get("/delete", function (req, res) { + console.log(req.query.id) prisma.movieInfo.delete({ where: { - movieID: req.query.id + id: parseInt(req.query.id) } + }).then(function handleFinishDelete(result) { + console.log(result) }) console.log("Deleted entries") res.send("Done."); @@ -99,6 +90,41 @@ app.get("/showDetails", async function (req, res) { ) }); +app.get("/editDetails", async function (req, res) { + const data = fs.readFileSync("template/editDetails.html", "utf8"); + console.log(req.query["id"]) + const movie = await prisma.movieInfo.findFirst({ + where: { + movieID: req.query["id"] + } + }) + res.send( + Eta.render(data, { + internalID: movie.id, + id: movie.movieID, + cover: movie.posterUrl, + titleByAPI: movie.movieTitel, + type: typeIndex[movie.type], + typeId: movie.type + }) + ) +}); + +app.get("/api/edit", function handleEdit(req, res){ + console.log(req.query) + prisma.movieInfo.update({ + where: { + id: parseInt(req.query["id"]) + }, + data: { + type: parseInt(req.query["type"]) + } + }).then(function handleFinishEdit(result) { + console.log(result) + }) + res.send("Done."); +}) + app.get("/apiCallBack", function (req, res) { //console.log(req.query); if (!responseBuffer.allBufferd.includes(req.query["ean"])) { @@ -166,6 +192,7 @@ app.get("/apiCallBack", function (req, res) { } }); + app.get("/save", async function handleSave(req, res) { responseJson = responseBuffer[req.query["reponseID"]]; const type = parseInt(req.query["type"]) || 0; @@ -184,6 +211,8 @@ app.get("/save", async function handleSave(req, res) { type: type, posterUrl: responseJson.coverImage } + }).then(function handleFinishCreate(result) { + console.log(result) }) res.send({ status: "OK" }); }else{ diff --git a/template/editDetails.html b/template/editDetails.html new file mode 100644 index 0000000..44ba7cc --- /dev/null +++ b/template/editDetails.html @@ -0,0 +1,125 @@ + + + + + + OpenMovieDB - Bookshelf - Edit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+

OpenMovieDB - Edit a movie

+
+ Cover image
+
<%= it.titleByAPI %>
<%= it.id %>
+ Type: +
+
+ + +
+
+
+ + + + \ No newline at end of file diff --git a/template/movieDetails.html b/template/movieDetails.html index aac9c3f..77f0daf 100644 --- a/template/movieDetails.html +++ b/template/movieDetails.html @@ -93,8 +93,9 @@
Cover image
<%= it.titleByAPI %>
<%= it.id %>
- Art: <%= it.type %>
-
+ Type: <%= it.type %> +
+ @@ -111,6 +112,11 @@ document.getElementById("overlay2").style.display = "none"; } + function handleEdit(){ + console.log("Editing movie") + window.location.href = '/editDetails?id=<%= it.id %>'; + } + function sureDelete(){ console.log("Deleting movie") url = "/delete?id=<%= it.internalID %>";