0

Merge pull request #234 from JakobStadlhuber/feat/webhook-self-hosted

Add support for Self-Hosted Webhook URL Usage and added project_id into the webhook payload
This commit is contained in:
Nicolas 2024-06-05 10:25:05 -07:00 committed by GitHub
commit 1a16378fe8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 7 deletions

View File

@ -49,4 +49,7 @@ PROXY_SERVER=
PROXY_USERNAME=
PROXY_PASSWORD=
# set if you'd like to block media requests to save proxy bandwidth
BLOCK_MEDIA=
BLOCK_MEDIA=
# Set this to the URL of your webhook when using the self-hosted version of FireCrawl
SELF_HOSTED_WEBHOOK_URL=

View File

@ -2,11 +2,15 @@ import { supabase_service } from "./supabase";
export const callWebhook = async (teamId: string, data: any) => {
try {
const { data: webhooksData, error } = await supabase_service
.from('webhooks')
.select('url')
.eq('team_id', teamId)
.limit(1);
const selfHostedUrl = process.env.SELF_HOSTED_WEBHOOK_URL;
let webhookUrl = selfHostedUrl;
if (!selfHostedUrl) {
const { data: webhooksData, error } = await supabase_service
.from('webhooks')
.select('url')
.eq('team_id', teamId)
.limit(1);
if (error) {
console.error(`Error fetching webhook URL for team ID: ${teamId}`, error.message);
@ -17,6 +21,9 @@ export const callWebhook = async (teamId: string, data: any) => {
return null;
}
webhookUrl = webhooksData[0].url;
}
let dataToSend = [];
if (data.result.links && data.result.links.length !== 0) {
for (let i = 0; i < data.result.links.length; i++) {
@ -28,13 +35,14 @@ export const callWebhook = async (teamId: string, data: any) => {
}
}
await fetch(webhooksData[0].url, {
await fetch(webhookUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
success: data.success,
project_id: data.project_id,
data: dataToSend,
error: data.error || undefined,
}),