From aabf2a1c79f6cb4e74d306f49f88da9c4186d880 Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Wed, 24 May 2023 10:14:34 +0000 Subject: [PATCH] feat: debug log incoming webhook requests --- .../src/controllers/webhooks/handler.ts | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/backend/src/controllers/webhooks/handler.ts b/packages/backend/src/controllers/webhooks/handler.ts index cca9b4ed..6f110256 100644 --- a/packages/backend/src/controllers/webhooks/handler.ts +++ b/packages/backend/src/controllers/webhooks/handler.ts @@ -2,6 +2,7 @@ import Crypto from 'node:crypto'; import { Response } from 'express'; import { IRequest, ITriggerItem } from '@automatisch/types'; +import logger from '../../helpers/logger'; import Flow from '../../models/flow'; import { processTrigger } from '../../services/trigger'; import actionQueue from '../../queues/action'; @@ -13,8 +14,19 @@ import { } from '../../helpers/remove-job-configuration'; export default async (request: IRequest, response: Response) => { + const flowId = request.params.flowId; + + // in case it's our built-in generic webhook trigger + let computedRequestPayload = { + headers: request.headers, + body: request.body, + query: request.query, + }; + logger.debug(`Handling incoming webhook request at ${request.originalUrl}.`); + logger.debug(computedRequestPayload); + const flow = await Flow.query() - .findById(request.params.flowId) + .findById(flowId) .throwIfNotFound(); const user = await flow.$relatedQuery('user'); @@ -56,26 +68,19 @@ export default async (request: IRequest, response: Response) => { } // in case trigger type is 'webhook' - let payload = request.body; - - // in case it's our built-in generic webhook trigger - if (isWebhookApp) { - payload = { - headers: request.headers, - body: request.body, - query: request.query, - }; + if (!isWebhookApp) { + computedRequestPayload = request.body; } const triggerItem: ITriggerItem = { - raw: payload, + raw: computedRequestPayload, meta: { internalId: Crypto.randomUUID(), }, }; - const { flowId, executionId } = await processTrigger({ - flowId: flow.id, + const { executionId } = await processTrigger({ + flowId, stepId: triggerStep.id, triggerItem, testRun,