Files
meet-hub/scripts/trigger-calendar-cleanup.js
dwindown a1ba5f342b Add Deno script to trigger calendar cleanup without curl
Created a Deno script that uses the built-in fetch() API to trigger the
cancel-expired-consulting-orders edge function, replacing the need for curl
in Coolify scheduled tasks.

This script:
- Uses Deno.env.get() for environment variables (like Supabase functions)
- Uses Deno's native fetch() API (no external dependencies)
- Runs with --allow-net and --allow-env permissions
- Can be used in Coolify scheduled tasks: deno run scripts/trigger-calendar-cleanup.js

Usage in Coolify scheduled task command:
deno run --allow-net --allow-env /app/scripts/trigger-calendar-cleanup.js

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-11 22:29:17 +07:00

41 lines
1.2 KiB
JavaScript

#!/usr/bin/env -S deno run --allow-net --allow-env
/**
* Script to trigger the cancel-expired-consulting-orders edge function
* Usage: deno run --allow-net --allow-env scripts/trigger-calendar-cleanup.js
* This script is designed to be used in Coolify scheduled tasks
*
* This uses Deno's built-in fetch() API, just like the Supabase edge functions.
*/
const SUPABASE_URL = Deno.env.get("SUPABASE_URL") || "http://supabase-edge-functions:8000";
const FUNCTION_PATH = "/functions/v1/cancel-expired-consulting-orders";
const ANON_KEY = Deno.env.get("SUPABASE_ANON_KEY") || "";
async function triggerCleanup() {
const url = `${SUPABASE_URL}${FUNCTION_PATH}`;
try {
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${ANON_KEY}`,
},
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const result = await response.json();
console.log(JSON.stringify(result));
Deno.exit(0);
} catch (error) {
console.error("Error triggering calendar cleanup:", error.message);
Deno.exit(1);
}
}
await triggerCleanup();