npm.io
0.0.1 • Published 1h ago

@lovable.dev/webhooks-js

Licence
MIT
Version
0.0.1
Deps
0
Size
13 kB
Vulns
0
Weekly
75.3K

@lovable.dev/webhooks-js

Webhook signature utilities for Lovable integrations.

Installation

npm install @lovable.dev/webhooks-js

Usage

import {
  verifyWebhookRequest,
  verifyWebhookSignature,
  type EmailWebhookPayload,
} from "@lovable.dev/webhooks-js";

const body = await req.text();
const signature = req.headers.get("x-lovable-signature");
const timestamp = req.headers.get("x-lovable-timestamp") ?? "";
const isValid = await verifyWebhookSignature({
  signedPayload: `${timestamp}.${body}`,
  signature,
  secret: Deno.env.get("LOVABLE_API_KEY") ?? "",
});

if (!isValid) {
  throw new Error("Invalid signature");
}

// Or verify the request and parse JSON in one step
const { payload } = await verifyWebhookRequest<EmailWebhookPayload>({
  req,
  secret: Deno.env.get("LOVABLE_API_KEY") ?? "",
});

// Or pass a custom parser
const { payload: rawPayload } = await verifyWebhookRequest({
  req,
  secret: Deno.env.get("LOVABLE_API_KEY") ?? "",
  parser: (body) => ({ raw: body }),
});

Keywords