better-auth-webhooks
Version:
Webhooks plugin for Better Auth - Send real-time event notifications
76 lines (74 loc) • 2.55 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var src_exports = {};
__export(src_exports, {
default: () => src_default,
webhooks: () => webhooks
});
module.exports = __toCommonJS(src_exports);
function webhooks(options = {}) {
return {
id: "webhooks",
schema: {
webhook: {
modelName: "webhook",
fields: {
id: { type: "string" },
url: { type: "string" },
events: { type: "string" },
// JSON array of event names
secret: { type: "string" },
active: { type: "boolean", defaultValue: true },
headers: { type: "string" },
// JSON object
createdAt: { type: "date", defaultValue: /* @__PURE__ */ new Date() },
updatedAt: { type: "date", defaultValue: /* @__PURE__ */ new Date() }
}
},
webhookDelivery: {
modelName: "webhookDelivery",
fields: {
id: { type: "string" },
webhookId: {
type: "string",
references: { model: "webhook", field: "id", onDelete: "cascade" }
},
event: { type: "string" },
payload: { type: "string" },
// JSON payload
status: { type: "string" },
// pending, success, failed
statusCode: { type: "number" },
response: { type: "string" },
attempts: { type: "number", defaultValue: 0 },
lastAttemptAt: { type: "date" },
nextRetryAt: { type: "date" },
createdAt: { type: "date", defaultValue: /* @__PURE__ */ new Date() }
}
}
}
// Endpoint and hook implementations would go here
};
}
var src_default = webhooks;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
webhooks
});
;