Files
starr-philproperties/cron/client.cron.js
T
kennethobsequio 1d12f04967 new commits
Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
2026-07-03 16:20:58 +08:00

39 lines
2.0 KiB
JavaScript

/***********************************************************************************************************************************************************************
* File Name : client.cron.js
* Type : Cron Registry — Client side
* Description : Aggregates and registers every client-facing scheduled job.
* Same shape as admin.cron.js — each job module exports
* { name, schedule, run }, listed in the `jobs` array below.
*
* All three are settings-backed (see cronRegistry.util.js) —
* schedule/enabled state lives in cron_notification_settings
* and is configurable from /admin/notifications/settings
* without a restart.
*
* Currently registered:
* - userNotifications (cron/jobs/user_notifications.cron.js)
* - issueCertificates (cron/jobs/issue_certificates.cron.js)
* - expireUserTiers (cron/jobs/expire_user_tiers.cron.js)
*
* Author: Kenneth Obsequio (@lash0000)
* Date Created: Jun. 17, 2026
***********************************************************************************************************************************************************************/
const userNotifications = require('./jobs/user_notifications.cron');
const issueCertificates = require('./jobs/issue_certificates.cron');
const expireUserTiers = require('./jobs/expire_user_tiers.cron');
const { startSettingsBackedJobs } = require('./cronRegistry.util');
// ─── Registry — add future client-side cron jobs here ────────────────────────
const jobs = [
userNotifications,
issueCertificates,
expireUserTiers,
];
// ─── Boot all registered client-side jobs ─────────────────────────────────────
async function startClientCronJobs() {
return startSettingsBackedJobs(jobs, 'CLIENT');
}
module.exports = { startClientCronJobs };