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>
This commit is contained in:
40
scripts/trigger-calendar-cleanup.js
Normal file
40
scripts/trigger-calendar-cleanup.js
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/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();
|
||||
Reference in New Issue
Block a user