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;
|