From f7b1ccae9afbdd71d4c62d79e593ed72ff8796b4 Mon Sep 17 00:00:00 2001 From: Kate Crichton Date: Thu, 18 Jun 2026 15:30:52 +0100 Subject: [PATCH] Merge pull request #33852 from overleaf/kc-schedule-domain-verification [web] schedule domain reverification GitOrigin-RevId: 08217692960379d0a6f7ce457032b1182fb2bf4e --- services/web/scripts/verify_domains.mjs | 14 +++++++++ ...dd_domainVerifications_scheduler_index.mjs | 31 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 services/web/scripts/verify_domains.mjs create mode 100644 tools/migrations/20260520120000_add_domainVerifications_scheduler_index.mjs diff --git a/services/web/scripts/verify_domains.mjs b/services/web/scripts/verify_domains.mjs new file mode 100644 index 0000000000..abf968153a --- /dev/null +++ b/services/web/scripts/verify_domains.mjs @@ -0,0 +1,14 @@ +import { scriptRunner } from './lib/ScriptRunner.mjs' +import DomainVerificationCron from '../modules/group-settings/app/src/DomainVerificationCron.mjs' + +async function main() { + await DomainVerificationCron.promises.verifyAll() +} + +try { + await scriptRunner(main) + process.exit(0) +} catch (error) { + console.error(error) + process.exit(1) +} diff --git a/tools/migrations/20260520120000_add_domainVerifications_scheduler_index.mjs b/tools/migrations/20260520120000_add_domainVerifications_scheduler_index.mjs new file mode 100644 index 0000000000..8b07a2931a --- /dev/null +++ b/tools/migrations/20260520120000_add_domainVerifications_scheduler_index.mjs @@ -0,0 +1,31 @@ +/* eslint-disable no-unused-vars */ + +import Helpers from './lib/helpers.mjs' + +const tags = ['saas', 'nonblocking'] + +// Supports the daily scheduler query in scripts/verify_domains.mjs which +// filters on status and lastVerificationAttemptAt. +const indexes = [ + { + key: { status: 1, lastVerificationAttemptAt: 1 }, + name: 'status_1_lastVerificationAttemptAt_1', + }, +] + +const migrate = async client => { + const { db } = client + + await Helpers.addIndexesToCollection(db.domainVerifications, indexes) +} + +const rollback = async client => { + const { db } = client + await Helpers.dropIndexesFromCollection(db.domainVerifications, indexes) +} + +export default { + tags, + migrate, + rollback, +}