support for multiple users

This commit is contained in:
2025-12-06 01:21:19 +01:00
parent 4e2875579c
commit 2df7625657
20 changed files with 2313 additions and 65 deletions

View File

@@ -2,6 +2,7 @@ const fastify = require('fastify')({ logger: true });
const path = require('path');
const { spawn } = require('child_process');
const fs = require('fs');
const jwt = require("jsonwebtoken");
const { initHeadless } = require("./dist/shared/headless");
const { initDatabase } = require('./dist/shared/database');
const { loadExtensions } = require('./dist/shared/extensions');
@@ -16,6 +17,20 @@ const proxyRoutes = require('./dist/api/proxy/proxy.routes');
const extensionsRoutes = require('./dist/api/extensions/extensions.routes');
const galleryRoutes = require('./dist/api/gallery/gallery.routes');
const rpcRoutes = require('./dist/api/rpc/rpc.routes');
const userRoutes = require('./dist/api/user/user.routes');
const anilistRoute = require('./dist/api/anilist');
fastify.addHook("preHandler", async (request) => {
const auth = request.headers.authorization;
if (!auth) return;
try {
const token = auth.replace("Bearer ", "");
request.user = jwt.verify(token, process.env.JWT_SECRET);
} catch (e) {
}
});
fastify.register(require('@fastify/static'), {
root: path.join(__dirname, 'public'),
@@ -42,6 +57,8 @@ fastify.register(proxyRoutes, { prefix: '/api' });
fastify.register(extensionsRoutes, { prefix: '/api' });
fastify.register(galleryRoutes, { prefix: '/api' });
fastify.register(rpcRoutes, { prefix: '/api' });
fastify.register(userRoutes, { prefix: '/api' });
fastify.register(anilistRoute, { prefix: '/api' });
function startCppScraper() {
const exePath = path.join(
@@ -83,6 +100,7 @@ const start = async () => {
initDatabase("anilist");
initDatabase("favorites");
initDatabase("cache");
initDatabase("userdata");
init()
await loadExtensions();