make app usable without account, remove extra stuff
This commit is contained in:
@ -4,7 +4,7 @@ import morgan from "morgan";
|
||||
import { createRequestHandler } from "@remix-run/express";
|
||||
|
||||
import logger from "~/utils/logger.server";
|
||||
import { adminMiddleware, setupBullBoard } from "./queues";
|
||||
import { setupBullBoard } from "./queues";
|
||||
import { purgeRequireCache } from "./purge-require-cache";
|
||||
|
||||
const environment = process.env.NODE_ENV;
|
||||
@ -66,7 +66,6 @@ app.use(
|
||||
app.use(express.static("public", { immutable: true, maxAge: "1y" }));
|
||||
|
||||
// setup background queues and cron jobs
|
||||
app.use("/admin", adminMiddleware);
|
||||
app.use("/admin/queues", setupBullBoard().getRouter());
|
||||
|
||||
app.use(morgan("tiny"));
|
||||
|
@ -1,35 +1,15 @@
|
||||
import type { NextFunction, Request, Response } from "express";
|
||||
import { ExpressAdapter } from "@bull-board/express";
|
||||
import { BullMQAdapter } from "@bull-board/api/bullMQAdapter";
|
||||
import { createBullBoard } from "@bull-board/api";
|
||||
import { GlobalRole } from "@prisma/client";
|
||||
|
||||
import { __getSession } from "~/utils/session.server";
|
||||
import type { SessionData } from "~/utils/auth.server";
|
||||
import queues from "~/queues";
|
||||
import cronJobs from "~/cron-jobs";
|
||||
|
||||
export async function adminMiddleware(req: Request, res: Response, next: NextFunction) {
|
||||
const session = await __getSession(req.headers.cookie);
|
||||
const sessionData: SessionData | undefined = session.data.user;
|
||||
if (!sessionData || sessionData.user.role !== GlobalRole.SUPERADMIN) {
|
||||
return res.setHeader("Location", "/sign-in").status(302).end();
|
||||
}
|
||||
|
||||
next();
|
||||
}
|
||||
|
||||
export function setupBullBoard() {
|
||||
const serverAdapter = new ExpressAdapter();
|
||||
const cronJobsQueues = registerCronJobs();
|
||||
createBullBoard({
|
||||
queues: [...queues, ...cronJobsQueues].map((queue) => new BullMQAdapter(queue)),
|
||||
queues: queues.map((queue) => new BullMQAdapter(queue)),
|
||||
serverAdapter,
|
||||
});
|
||||
serverAdapter.setBasePath("/admin/queues");
|
||||
return serverAdapter;
|
||||
}
|
||||
|
||||
function registerCronJobs() {
|
||||
return cronJobs.map((registerCronJob) => registerCronJob());
|
||||
}
|
||||
|
Reference in New Issue
Block a user