mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 16:38:19 +01:00
Some checks failed
CodeQL Scan / Analyze (javascript-typescript) (push) Failing after 45s
Build Docker Images / lint (push) Successful in 30s
Build Docker Images / check (push) Successful in 1m11s
Build Docker Images / tests (push) Failing after 6s
Build Docker Images / build (server, Dockerfile, ${{ github.repository_owner }}/server) (push) Has been skipped
Build Docker Images / build (worker, Worker.Dockerfile, ${{ github.repository_owner }}/worker) (push) Has been skipped
Deploy Docs to GitHub Pages / build (push) Failing after 5s
Mirror to Codeberg / Mirror (push) Failing after 1s
Deploy Docs to GitHub Pages / Deploy (push) Has been skipped
Nix Build / check (push) Failing after 5s
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { createBullBoard } from "@bull-board/api";
|
|
import { BullMQAdapter } from "@bull-board/api/bullMQAdapter";
|
|
import { HonoAdapter } from "@bull-board/hono";
|
|
import type { OpenAPIHono } from "@hono/zod-openapi";
|
|
import { serveStatic } from "hono/bun";
|
|
import { deliveryQueue } from "~/classes/queues/delivery";
|
|
import { fetchQueue } from "~/classes/queues/fetch";
|
|
import { inboxQueue } from "~/classes/queues/inbox";
|
|
import { mediaQueue } from "~/classes/queues/media";
|
|
import { pushQueue } from "~/classes/queues/push";
|
|
import { config } from "~/config.ts";
|
|
import pkg from "~/package.json";
|
|
import type { HonoEnv } from "~/types/api";
|
|
|
|
export const applyToHono = (app: OpenAPIHono<HonoEnv>): void => {
|
|
const serverAdapter = new HonoAdapter(serveStatic);
|
|
|
|
createBullBoard({
|
|
queues: [
|
|
new BullMQAdapter(inboxQueue),
|
|
new BullMQAdapter(deliveryQueue),
|
|
new BullMQAdapter(fetchQueue),
|
|
new BullMQAdapter(pushQueue),
|
|
new BullMQAdapter(mediaQueue),
|
|
],
|
|
serverAdapter,
|
|
options: {
|
|
uiConfig: {
|
|
boardTitle: "Server Queues",
|
|
favIcon: {
|
|
default: "/favicon.png",
|
|
alternative: "/favicon.ico",
|
|
},
|
|
boardLogo: {
|
|
path: config.instance.branding.logo?.origin ?? pkg.icon,
|
|
height: 40,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
serverAdapter.setBasePath("/admin/queues");
|
|
// @ts-expect-error Causes infinite instantiation for some reason
|
|
app.route("/admin/queues", serverAdapter.registerPlugin());
|
|
};
|