1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import express, { Router } from 'express';
import { navbar, page } from '../../middlewares/index.js';
export const router = express.Router({ mergeParams: true });
router.use('/special/purge/:page?', page);
router.use('/special/purge/:page/confirm', page);
router.get('/special/purge/:page?', navbar, (req, res, next) => {
let page = res.locals.page;
if (!page) {
next();
return;
}
res.render('purge.ejs', {
navbar: res.locals.navbarHtml,
page: res.locals.path,
buildTime: new Date(page.buildTime) ?? 'never',
buildTimeRelative: Math.round((Date.now() - page.buildTime) / 1000 / 60)
});
});
router.get('/special/purge/:page/confirm', (req, res, next) => {
let page = res.locals.page;
if (!page) {
next();
return;
}
if (res.locals.directory.purge(res.locals.path)) {
res.status(200).send();
} else {
res.status(429).send();
}
});
router.get('/special/rebuild', navbar, (req, res) => {
res.render('rebuild.ejs', {
navbar: res.locals.navbarHtml
});
});
router.get('/special/rebuild/confirm', (req, res) => {
if (res.locals.directory.rebuild()) {
res.status(200).send();
} else {
res.status(429).send();
}
});
|