import { Router } from "express"; import { initDb } from "../db.js"; import { replyIterator } from "../lib.js"; const router = Router(); let db = await initDb(); //todo: fix jank router.get('/list', (req, res, next) => { res.ctx.mainPage = 'walls' res.ctx.mainCtx = { walls: [ { 'alias': 'hub/main', 'name': 'Home', 'desc': 'Discuss anything you desire' }, { 'alias': `users/${res.auth.username}`, 'name': 'You', 'desc': 'Connect with your community' }, { 'alias': `hub/nilgrinder`, 'name': 'Nilgrinder', 'desc': 'Idle game: build to everything from nothing' }, { 'alias': `hub/minecraft`, 'name': 'Minecraft', 'desc': 'Experimental Minecraft server' } ] } next(); }) router.get('/get/:type/:id/:num', async (req, res, next) => { if (isNaN(req.params.num * 1)) { next(); return; } let replies = await db.all('SELECT * FROM feeder WHERE parentType = ? AND parentId = ? ORDER BY sortId DESC LIMIT ? OFFSET ?', [ req.params.type, req.params.id, 10, req.params.num * 10 ]); replies.splice(0, 0, { childType: req.params.type, childId: req.params.id }) replies = await replyIterator(replies,db); let comment = replies.splice(0, 1)[0]; replies = replies.filter(x => x.comment != 'fail'); res.ctx.mainPage = 'replies' res.ctx.mainCtx = { page: req.params.num, replies, opLink: `/${req.params.type}/${req.params.id}`, type: req.params.type, id: req.params.id, comment } next(); }) export default router;