const TASK = { key: 'onboarding-device-prune', title: 'Onboarding device prune', category: 'cleanup', trigger: 'scheduled recurring task, hourly', purpose: 'remove stale onboarding device bindings that have been idle for more than one minute.', taskType: 'recurring-run', intervalMs: 60 * 60 * 1000 }; function registerOnboardingDevicePruneTask(options) { const backgroundTaskQueue = options && options.backgroundTaskQueue; const pool = options && options.pool; const common = options && options.common; if (!backgroundTaskQueue || !pool || !common || typeof common.pruneStaleOnboardingDevices !== 'function') { throw new Error('registerOnboardingDevicePruneTask requires the onboarding prune dependencies.'); } backgroundTaskQueue.registerRecurringTask({ key: TASK.key, title: TASK.title, category: TASK.category, intervalMs: TASK.intervalMs, metadata: {}, run: async function () { await common.pruneStaleOnboardingDevices(pool); } }); } module.exports = { registerOnboardingDevicePruneTask };