iceshrimp-legacy/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
ThatOneCalculator 7c2dabd047
no more eslint
2023-01-12 20:54:33 -08:00

64 lines
1.2 KiB
TypeScript

import {
deliverQueue,
inboxQueue,
dbQueue,
objectStorageQueue,
} from "@/queue/queues.js";
import define from "../../../define.js";
export const meta = {
tags: ["admin"],
requireCredential: true,
requireModerator: true,
res: {
type: "object",
optional: false,
nullable: false,
properties: {
deliver: {
optional: false,
nullable: false,
ref: "QueueCount",
},
inbox: {
optional: false,
nullable: false,
ref: "QueueCount",
},
db: {
optional: false,
nullable: false,
ref: "QueueCount",
},
objectStorage: {
optional: false,
nullable: false,
ref: "QueueCount",
},
},
},
} as const;
export const paramDef = {
type: "object",
properties: {},
required: [],
} as const;
export default define(meta, paramDef, async (ps) => {
const deliverJobCounts = await deliverQueue.getJobCounts();
const inboxJobCounts = await inboxQueue.getJobCounts();
const dbJobCounts = await dbQueue.getJobCounts();
const objectStorageJobCounts = await objectStorageQueue.getJobCounts();
return {
deliver: deliverJobCounts,
inbox: inboxJobCounts,
db: dbJobCounts,
objectStorage: objectStorageJobCounts,
};
});