Implemented negative filters in back-end, added basic fixed filters settings dialog.

This commit is contained in:
2024-04-02 05:55:53 +02:00
parent 30fdbbd737
commit 98c25cd24e
17 changed files with 260 additions and 43 deletions

View File

@@ -5,6 +5,7 @@ import Router from 'express-promise-router';
import session from 'express-session';
import RedisStore from 'connect-redis';
import compression from 'compression';
import cookie from 'cookie';
import { renderPage } from 'vike/server'; // eslint-disable-line import/extensions
// import root from './root.js';
@@ -58,6 +59,17 @@ export default async function initServer() {
router.use('/', express.static('static'));
router.use('/media', express.static(config.media.path));
router.use((req, res, next) => {
const cookies = cookie.parse(req.headers.cookie);
/* eslint-disable no-param-reassign */
req.cookies = cookies;
req.tagFilter = cookies.tags ? JSON.parse(cookies.tags) : [];
/* eslint-enable no-param-reassign */
next();
});
router.use(express.json());
const redisStore = new RedisStore({
@@ -129,6 +141,9 @@ export default async function initServer() {
const pageContextInit = {
urlOriginal: req.originalUrl,
urlQuery: req.query, // vike's own query does not apply boolean parser
headers: req.headers,
cookies: req.cookies,
tagFilter: req.tagFilter,
user: req.user && {
id: req.user.id,
username: req.user.username,