derv-net/routes/comment.js

38 lines
991 B
JavaScript
Raw Permalink Normal View History

2025-02-26 01:10:09 -05:00
import { Router } from "express";
import { initDb } from "../db.js";
2025-02-26 19:50:37 -05:00
import { replyIterator } from "../lib.js";
2025-02-26 01:10:09 -05:00
const router = Router();
let db = await initDb();
//todo: fix jank
router.get('/:id', async (req, res, next) => {
2025-02-26 19:50:37 -05:00
let replies = [];
2025-02-26 01:10:09 -05:00
let feeder = req.params.id;
2025-02-26 19:50:37 -05:00
let feederType = 'comment';
2025-02-26 01:10:09 -05:00
while (true) {
let tmpReplies = await db.all('SELECT * FROM feeder WHERE childType = ? AND childId = ?', [
2025-02-26 19:50:37 -05:00
feederType,
2025-02-26 01:10:09 -05:00
feeder,
]);
2025-02-26 19:50:37 -05:00
if (tmpReplies.length == 0) {
replies.splice(0,0,{childType: feederType, childId: feeder})
break;
2025-02-26 01:10:09 -05:00
}
2025-02-26 19:50:37 -05:00
feeder = tmpReplies[0].parentId;
feederType = tmpReplies[0].parentType;
replies.splice(0,0,tmpReplies[0])
2025-02-26 01:10:09 -05:00
}
2025-02-26 19:50:37 -05:00
replies = await replyIterator(replies,db);
2025-02-26 01:40:27 -05:00
replies = replies.filter(x => x.comment != 'fail');
2025-02-26 01:10:09 -05:00
res.ctx.mainPage = 'commenter'
res.ctx.mainCtx = {
2025-02-26 01:40:27 -05:00
replies
2025-02-26 01:10:09 -05:00
}
next();
})
export default router;