import { URL } from "node:url"; import define from "../../../define.js"; import { inboxQueue } from "../../../../../queue/queues.js"; export const meta = { tags: [ "admin" ], requireCredential: true, requireModerator: true, res: { type: "array", optional: false, nullable: false, items: { type: "array", optional: false, nullable: false, items: { anyOf: [ { type: "string" }, { type: "number" } ] } }, example: [ [ "example.com", 12 ] ] } }; export const paramDef = { type: "object", properties: {}, required: [] }; export default define(meta, paramDef, async (ps)=>{ const jobs = await inboxQueue.getJobs([ "delayed" ]); const res = []; for (const job of jobs){ const host = new URL(job.data.signature.keyId).host; if (res.find((x)=>x[0] === host)) { res.find((x)=>x[0] === host)[1]++; } else { res.push([ host, 1 ]); } } res.sort((a, b)=>b[1] - a[1]); return res; });