This commit is contained in:
Flummi
2021-06-24 05:10:55 +02:00
parent f3e357d8a4
commit 5b7dd4293c
9 changed files with 53 additions and 12 deletions

View File

@@ -46,7 +46,8 @@ router.post(/^\/login(\/)?$/, async (req, res) => {
session: lib.md5(session),
browser: req.headers["user-agent"],
created_at: stamp,
last_used: stamp
last_used: stamp,
last_action: "/login"
});
return res.writeHead(301, {
@@ -87,8 +88,15 @@ router.get(/^\/login\/test$/, async (req, res) => {
});
router.get(/^\/admin(\/)?$/, auth, async (req, res) => { // frontpage
const totals = await sql("items")
.select(
sql.raw("(select count(*) from items) total"),
sql.raw("sum(if(ifnull(tags_assign.item_id, 0) = 0, 1, 0)) untagged"),
sql.raw("sum(if(ifnull(tags_assign.item_id, 1) = 1, 0, 1)) tagged"))
.leftJoin("tags_assign", "tags_assign.item_id", "items.id");
res.reply({
body: tpl.render("views/admin", {}, req)
body: tpl.render("views/admin", { totals: totals[0] }, req)
});
});
@@ -98,15 +106,30 @@ router.get(/^\/admin\/sessions(\/)?$/, auth, async (req, res) => {
.select("user_sessions.*", "user.user")
.orderBy("user.id");
const totals = await sql("items")
.select(
sql.raw("(select count(*) from items) total"),
sql.raw("sum(if(ifnull(tags_assign.item_id, 0) = 0, 1, 0)) untagged"),
sql.raw("sum(if(ifnull(tags_assign.item_id, 1) = 1, 0, 1)) tagged"))
.leftJoin("tags_assign", "tags_assign.item_id", "items.id");
res.reply({
body: tpl.render("views/admin_sessions", {
sessions: rows
sessions: rows,
totals: totals[0]
}, req)
});
});
router.get(/^\/admin\/test(\/)?$/, auth, async (req, res) => {
let ret;
const totals = await sql("items")
.select(
sql.raw("(select count(*) from items) total"),
sql.raw("sum(if(ifnull(tags_assign.item_id, 0) = 0, 1, 0)) untagged"),
sql.raw("sum(if(ifnull(tags_assign.item_id, 1) = 1, 0, 1)) tagged"))
.leftJoin("tags_assign", "tags_assign.item_id", "items.id");
if(Object.keys(req.url.qs).length > 0) {
const tag = req.url.qs.tag;
@@ -121,7 +144,8 @@ router.get(/^\/admin\/test(\/)?$/, auth, async (req, res) => {
res.reply({
body: tpl.render("views/admin_search", {
result: ret
result: ret,
totals: totals[0]
}, req)
});
});