From a2dd06bd6872b3cad929dd794e9deb05b8cc1c03 Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Fri, 5 Sep 2025 01:06:46 +0200 Subject: [PATCH] - inizio di modifiche all'editor di Pagine Web --- src/server/models/myelem.js | 2 ++ src/server/models/mypage.js | 1 + src/server/router/api_router.js | 13 ++++++++----- src/server/router/index_router.js | 24 +++++++++++++++++++++--- src/server/seed/seedTemplates.js | 17 +++++++++++++++++ src/server/server.js | 5 +++++ src/server/tools/general.js | 5 +++++ src/server/version.txt | 2 +- 8 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 src/server/seed/seedTemplates.js diff --git a/src/server/models/myelem.js b/src/server/models/myelem.js index 5df37c0..a396234 100755 --- a/src/server/models/myelem.js +++ b/src/server/models/myelem.js @@ -257,6 +257,8 @@ const MyElemSchema = new Schema({ date_updated: { type: Date, }, + + children: { type: Array, default: undefined }, }); MyElemSchema.pre('save', async function (next) { diff --git a/src/server/models/mypage.js b/src/server/models/mypage.js index 17f8965..996be34 100755 --- a/src/server/models/mypage.js +++ b/src/server/models/mypage.js @@ -156,6 +156,7 @@ const MyPageSchema = new Schema({ date_updated: { type: Date, }, + sections: { type: Array }, }); MyPageSchema.statics.getFieldsForSearch = function () { diff --git a/src/server/router/api_router.js b/src/server/router/api_router.js index 7517464..e25023b 100644 --- a/src/server/router/api_router.js +++ b/src/server/router/api_router.js @@ -14,6 +14,9 @@ const Author = require('../models/author'); const tools = require('../tools/general'); +const { MyPage } = require('../models/mypage'); +const { MyElem } = require('../models/myelem'); + const axios = require('axios'); router.post('/test-lungo', authenticate, (req, res) => { @@ -195,19 +198,20 @@ router.delete('/mypage/:id', authenticate, async (req, res) => { try { const { id } = req.params; - - // Trova il record di MyPage da cancellare - const pageToDelete = await MyPage.findByIdAndRemove(id); + const pageToDelete = await MyPage.findByIdAndDelete(id); + if (!pageToDelete) return res.status(404).json({ error: 'Pagina non trovata' }); if (!pageToDelete) { return res.status(404).json({ error: 'Pagina non trovata' }); + } else { + await MyElem.deleteAllFromThisPage(id); } res.json({ message: `Pagina eliminata con successo: ${pageToDelete.path}` }); } catch (err) { console.error(err); - res.status(500).json({ error: 'Errore durante l\'eliminazione della pagina' }); + res.status(500).json({ error: "Errore durante l'eliminazione della pagina" }); } }); @@ -487,5 +491,4 @@ router.post('/chatbot', authenticate, async (req, res) => { } }); - module.exports = router; diff --git a/src/server/router/index_router.js b/src/server/router/index_router.js index f7d7321..b1ecfe1 100755 --- a/src/server/router/index_router.js +++ b/src/server/router/index_router.js @@ -906,8 +906,22 @@ router.post('/savepage', authenticate, async (req, res) => { const mypage = params.page; try { - if (mypage?._id) { - let found = await MyPage.findOneAndUpdate({ idapp, _id: mypage._id }, mypage, { upsert: true, new: true }) + if (!mypage?._id) { + // creazione nuovo record + return await MyPage.create({ idapp, ...mypage }) + .then((ris) => { + if (ris) { + return res.send({ code: server_constants.RIS_CODE_OK, mypage: ris }); + } + return res.send({ code: server_constants.RIS_CODE_ERR, msg: '' }); + }) + .catch((e) => { + console.log(e.message); + res.status(400).send(e); + }); + } else { + // update record + return await MyPage.findOneAndUpdate({ idapp, _id: mypage._id }, mypage, { upsert: true, new: true }) .then((ris) => { if (ris) { return res.send({ code: server_constants.RIS_CODE_OK, mypage: ris }); @@ -2303,7 +2317,11 @@ async function uploadFile(req, res, version, options = {}) { console.log('File ricevuto:', file.originalFilename); const oldFile = file.filepath || file.path; - const newFilePath = path.join(uploadDir, `${file.newFilename}_${file.originalFilename}`); + //const newFilePath = path.join(uploadDir, `${file.newFilename}_${file.originalFilename}`); + const newFilePath = path.join(uploadDir, `${file.originalFilename}`); + + //@@ATTENZIONE ! HO RIMESSO COM'ERA PRIMA ! MA NON MI CONVINCE ! + // RICONTROLLARE SE DEVO METTERLGI UN SUFFISSO PRIMA... (newFilePath) // Sposta e rinomina await tools.move(oldFile, newFilePath); diff --git a/src/server/seed/seedTemplates.js b/src/server/seed/seedTemplates.js new file mode 100644 index 0000000..a37094c --- /dev/null +++ b/src/server/seed/seedTemplates.js @@ -0,0 +1,17 @@ +const { Page } = require('../models/pageModel'); + +const seedTemplates = async () => { + const templates = [ + { title: 'EcoVillage – Landing', sections: [] }, // Aggiungi il contenuto per questo template + { title: 'Comunità – “Conosciamoci”', sections: [] }, + { title: 'Progetto – Presentazione', sections: [] }, + ]; + + for (const template of templates) { + const page = new Page(template); + await page.save(); + } +}; + +seedTemplates(); +s \ No newline at end of file diff --git a/src/server/server.js b/src/server/server.js index 9a5e090..38f430a 100755 --- a/src/server/server.js +++ b/src/server/server.js @@ -102,6 +102,7 @@ connectToDatabase(connectionUrl, options) require('./models/myscheda'); require('./models/bot'); require('./models/calzoom'); + const mysql_func = require('./mysql/mysql_func'); const index_router = require('./router/index_router'); @@ -1057,4 +1058,8 @@ connectToDatabase(connectionUrl, options) process.exit(1); // Termina il processo se non riesce a connettersi }); +function add_numbers(a, b) { + + } + module.exports = { app }; diff --git a/src/server/tools/general.js b/src/server/tools/general.js index 7c6a664..1806e60 100755 --- a/src/server/tools/general.js +++ b/src/server/tools/general.js @@ -3978,7 +3978,12 @@ module.exports = { const moveOp = async () => { // Assicurati che la cartella di destinazione esista const dir = path.dirname(newPath); + console.log('crea directory ricorsivamente', dir); await fs.promises.mkdir(dir, { recursive: true }); + if (!(await fs.promises.stat(dir).catch(() => false))) { + console.log('directory non creata, riprovo'); + await fs.promises.mkdir(dir, { recursive: true }); + } try { const newOldPath = oldPath.replace(/\/$/, ''); diff --git a/src/server/version.txt b/src/server/version.txt index 0951b97..88292fb 100644 --- a/src/server/version.txt +++ b/src/server/version.txt @@ -1 +1 @@ -1.2.68 \ No newline at end of file +1.2.69 \ No newline at end of file