import express from 'express'; import sqlite3 from 'sqlite3'; import path from 'path'; import { fileURLToPath } from 'url'; import { asyncDatabaseRead } from '../utils/asyncDatabase.js'; const newsListAPI = express.Router(); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const databasePath = path.join(__dirname, "../../assets/databases/news.db"); newsListAPI.get('/', async (request, response) => { const database = new sqlite3.Database(databasePath); const sqlQuery = `SELECT * FROM news ORDER BY date DESC;`; try { const result = await asyncDatabaseRead(database, sqlQuery, (rows) => { let ret = ""; for (const entry of rows) { ret = ret + "\n"; for (const data in entry) { if (data == "article" || data == "coverImagePath" || data == "linkPath") continue; if (data == "entryType") { ret = ret + `${entry[data] == 0 ? "Article" : "Tweet"}\n`; continue; } if (data == "date") { ret = ret + `${new Date(entry[data]).toLocaleString()}\n`; continue; } ret = ret + `${entry[data]}\n`; } ret = ret + `\n \n \n \n\n`; } return ret }); database.close(); response.send(result); } catch (err) { console.error(err); database.close(); } }); export default newsListAPI;