UNPKG

agenda-admin

Version:
33 lines (32 loc) 902 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildJobQuery = void 0; const mongodb_1 = require("mongodb"); const buildJobQuery = ({ name, property, value, status, sortBy, sortType, }) => { const query = {}; if (name) { query.name = name; } if (property && value) { if (property.endsWith('_id')) { query[property] = new mongodb_1.ObjectId(value); } else { query[property] = /^\d+$/.test(value) ? +value : value; } } else if (property) { query[property] = { $exists: true }; } const statusFilter = {}; if (status) { statusFilter[`status.${status}`] = true; } return { query, statusFilter, sortBy: sortBy || 'lastRunAt', sortType: sortType === 'asc' ? 1 : -1, }; }; exports.buildJobQuery = buildJobQuery;