admin schmadmin
All checks were successful
fetch npm modules / f0ck the f0cker (push) Successful in 19s

This commit is contained in:
Flummi
2024-06-24 07:53:00 +02:00
parent 486580b21c
commit 2ff1842d09
11 changed files with 40 additions and 172 deletions

View File

@ -3,18 +3,7 @@ import lib from "../lib.mjs";
import { exec } from "child_process";
import { promises as fs } from "fs";
const auth = async (req, res, next) => {
if(!req.session) {
return res.reply({
code: 401,
body: "401 - Unauthorized"
});
}
return next();
};
export default (router, tpl) => {
router.get(/^\/login(\/)?$/, async (req, res) => {
if(req.cookies.session) {
return res.reply({
@ -72,7 +61,7 @@ export default (router, tpl) => {
}).end();
});
router.get(/^\/logout$/, auth, async (req, res) => {
router.get(/^\/logout$/, lib.loggedin, async (req, res) => {
const usersession = await db`
select *
from "user_sessions"
@ -103,7 +92,7 @@ export default (router, tpl) => {
});
});
router.get(/^\/admin(\/)?$/, auth, async (req, res) => { // frontpage
router.get(/^\/admin(\/)?$/, lib.auth, async (req, res) => { // frontpage
res.reply({
body: tpl.render("admin", {
@ -114,7 +103,7 @@ export default (router, tpl) => {
});
});
router.get(/^\/admin\/sessions(\/)?$/, auth, async (req, res) => {
router.get(/^\/admin\/sessions(\/)?$/, lib.auth, async (req, res) => {
const rows = await db`
select "user_sessions".*, "user".user
from "user_sessions"
@ -132,7 +121,7 @@ export default (router, tpl) => {
});
});
router.get(/^\/admin\/log(\/)?$/, auth, async (req, res) => {
router.get(/^\/admin\/log(\/)?$/, lib.auth, async (req, res) => {
exec("journalctl -qeu f0ck --no-pager", (err, stdout) => {
res.reply({
body: tpl.render("admin/log", {
@ -143,7 +132,7 @@ export default (router, tpl) => {
});
});
router.get(/^\/admin\/recover\/?/, auth, async (req, res) => {
router.get(/^\/admin\/recover\/?/, lib.auth, async (req, res) => {
if(req.url.qs?.id) {
const id = +req.url.qs.id;
const f0ck = await db`

View File

@ -139,7 +139,7 @@ export default router => {
// tags lol
group.put(/\/admin\/tags\/(?<tagname>.*)/, lib.auth, async (req, res) => {
group.put(/\/admin\/tags\/(?<tagname>.*)/, lib.loggedin, async (req, res) => {
if(!req.params.tagname || !req.post.newtag) {
return res.json({
success: false,
@ -187,7 +187,7 @@ export default router => {
return res.json(q, tagname === newtag ? 200 : 201); // created (modified)
});
group.get(/\/admin\/tags\/suggest$/, lib.auth, async (req, res) => {
group.get(/\/admin\/tags\/suggest$/, lib.loggedin, async (req, res) => {
const reply = {
success: false,
suggestions: {}
@ -267,7 +267,7 @@ export default router => {
});
});
group.post(/\/admin\/togglefav$/, lib.auth, async (req, res) => {
group.post(/\/admin\/togglefav$/, lib.loggedin, async (req, res) => {
const postid = +req.post.postid;
let favs = await db`

View File

@ -3,7 +3,7 @@ import lib from '../../lib.mjs';
export default router => {
router.group(/^\/api\/v2\/settings/, group => {
group.put(/\/setAvatar/, lib.auth, async (req, res) => {
group.put(/\/setAvatar/, lib.loggedin, async (req, res) => {
if(!req.post.avatar) {
return res.json({
msg: 'no avatar provided',

View File

@ -3,7 +3,7 @@ import lib from '../../lib.mjs';
export default router => {
router.group(/^\/api\/v2\/admin\/(?<postid>\d+)\/tags/, group => {
group.get(/$/, lib.auth, async (req, res) => {
group.get(/$/, lib.loggedin, async (req, res) => {
// get tags
if(!req.params.postid) {
return res.json({
@ -18,7 +18,7 @@ export default router => {
});
});
group.post(/$/, lib.auth, async (req, res) => {
group.post(/$/, lib.loggedin, async (req, res) => {
// assign and/or create tag
if(!req.params.postid || !req.post.tagname) {
return res.json({
@ -80,7 +80,7 @@ export default router => {
});
});
group.put(/\/toggle$/, lib.auth, async (req, res) => {
group.put(/\/toggle$/, lib.loggedin, async (req, res) => {
// xD
if(!req.params.postid) {
return res.json({

View File

@ -100,7 +100,7 @@ export default (router, tpl) => {
});
});
router.get(/^\/mode\/(\d)/, auth, async (req, res) => {
router.get(/^\/mode\/(\d)/, lib.loggedin, async (req, res) => {
const mode = +req.url.split[1];
let referertmp = req.headers.referer;
let referer = "";

View File

@ -5,7 +5,7 @@ import search from "../routeinc/search.mjs";
const _eps = 20;
export default (router, tpl) => {
router.get(/^\/search(\/)?$/, lib.auth, async (req, res) => {
router.get(/^\/search(\/)?$/, lib.loggedin, async (req, res) => {
let ret;
let tag = req.url.qs.tag ?? [];
let page = req.url.qs.page ?? 1;