58 lines
No EOL
1.7 KiB
JavaScript
58 lines
No EOL
1.7 KiB
JavaScript
async function importRouters(app, routers) {
|
|
for (let router in routers) {
|
|
await app.use(router, (await import(routers[router])).default)
|
|
}
|
|
}
|
|
|
|
function apiStat(res, next, message, success = false, redirect = '/') {
|
|
res.api = { success, message, redirect };
|
|
next();
|
|
}
|
|
|
|
function splitUp(content) {
|
|
let out = content.split(/(\s)/g);
|
|
|
|
for (let i in out) {
|
|
let res = out[i];
|
|
if (res.startsWith('file::')) {
|
|
out[i] = ['file', res.slice('file::'.length)];
|
|
continue;
|
|
}
|
|
if (res.startsWith('https://')) {
|
|
out[i] = ['link',res];
|
|
continue;
|
|
}
|
|
out[i] = [res];
|
|
}
|
|
return out;
|
|
}
|
|
|
|
async function replyIterator(replies, db) {
|
|
for (let reply of replies) {
|
|
if (reply.childType == 'hub') {
|
|
reply.comment = { type: reply.childType, id: reply.childId, content: `The ${reply.childId} hub.`, username: false, date: undefined };
|
|
continue;
|
|
} else if (reply.childType == 'users') {
|
|
reply.comment = { type: reply.childType, id: reply.childId, content: `User ${reply.childId}'s wall.`, username: false, date: undefined };
|
|
continue;
|
|
}
|
|
|
|
let dat = await db.all('SELECT * FROM comment WHERE id = ?', [
|
|
reply.childId
|
|
]);
|
|
|
|
if (reply.childType != 'comment' || dat.length < 1) {
|
|
reply.comment = 'fail';
|
|
continue;
|
|
}
|
|
reply.comment = dat[0];
|
|
reply.comment.type = reply.childType;
|
|
//reply.comment.id = reply.childId;
|
|
}
|
|
for (let reply of replies) {
|
|
reply.comment.content = splitUp(reply.comment.content)
|
|
}
|
|
return replies;
|
|
}
|
|
|
|
export { importRouters, apiStat, replyIterator, splitUp }; |