@bull-board/api
Version:
A Dashboard server API built on top of bull or bullmq.
32 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMetricsHistoryUsageHandler = createMetricsHistoryUsageHandler;
exports.createMetricsHistoryPurgeHandler = createMetricsHistoryPurgeHandler;
const DAY_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
function createMetricsHistoryUsageHandler(provider) {
return async function metricsHistoryUsageHandler() {
const usage = await provider.getUsage();
return { status: 200, body: usage };
};
}
function createMetricsHistoryPurgeHandler(provider) {
return async function metricsHistoryPurgeHandler(req) {
var _a;
const body = ((_a = req === null || req === void 0 ? void 0 : req.body) !== null && _a !== void 0 ? _a : {});
if (body.queue !== undefined && typeof body.queue !== 'string') {
return { status: 400, body: { error: 'Invalid queue' } };
}
// A malformed cutoff must not fall through to "purge everything": the two requests
// differ only by this field, and one of them is unrecoverable.
if (body.before !== undefined &&
(typeof body.before !== 'string' || !DAY_PATTERN.test(body.before))) {
return { status: 400, body: { error: 'Invalid before: expected YYYY-MM-DD' } };
}
const result = await provider.purge({
queue: body.queue,
before: body.before,
});
return { status: 200, body: result };
};
}
//# sourceMappingURL=metricsHistoryStorage.js.map