UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

26 lines (24 loc) 904 B
import { useLogger } from "../logger/index.js"; import { scheduleSynchronizedJob, validateCron } from "../utils/schedule.js"; import { getSchema } from "../utils/get-schema.js"; import { McpOAuthService } from "../services/mcp-oauth/index.js"; import { useEnv } from "@directus/env"; //#region src/schedules/oauth-cleanup.ts async function scheduleOAuthCleanup() { const env = useEnv(); const schedule = String(env["MCP_OAUTH_CLEANUP_SCHEDULE"]); if (!validateCron(schedule)) { useLogger().error(`Invalid MCP_OAUTH_CLEANUP_SCHEDULE: "${schedule}". OAuth cleanup disabled.`); return false; } scheduleSynchronizedJob("oauth-cleanup", schedule, async () => { try { await new McpOAuthService({ schema: await getSchema() }).cleanup(); } catch (error) { useLogger().error(error, "MCP OAuth cleanup failed"); } }); return true; } //#endregion export { scheduleOAuthCleanup as default };