@nestarc/webhook 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -12,6 +12,7 @@ export declare class WebhookService {
|
|
|
12
12
|
constructor(eventRepo: WebhookEventRepository, endpointRepo: WebhookEndpointRepository, deliveryRepo: WebhookDeliveryRepository, options: WebhookModuleOptions);
|
|
13
13
|
send(event: WebhookEvent): Promise<string>;
|
|
14
14
|
sendToTenant(tenantId: string, event: WebhookEvent): Promise<string>;
|
|
15
|
+
sendToEndpoints(endpointIds: string[], event: WebhookEvent, tenantId?: string): Promise<string>;
|
|
15
16
|
private sendInternal;
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=webhook.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.service.d.ts","sourceRoot":"","sources":["../src/webhook.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,qBACa,cAAc;IAMvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAIlB,SAAS,EAAE,sBAAsB,EAEjC,YAAY,EAAE,yBAAyB,EAEvC,YAAY,EAAE,yBAAyB,EAExD,OAAO,EAAE,oBAAoB;IAKzB,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"webhook.service.d.ts","sourceRoot":"","sources":["../src/webhook.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,qBACa,cAAc;IAMvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAIlB,SAAS,EAAE,sBAAsB,EAEjC,YAAY,EAAE,yBAAyB,EAEvC,YAAY,EAAE,yBAAyB,EAExD,OAAO,EAAE,oBAAoB;IAKzB,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpE,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,YAAY,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;YAkCJ,YAAY;CA4C3B"}
|
package/dist/webhook.service.js
CHANGED
|
@@ -34,6 +34,20 @@ let WebhookService = WebhookService_1 = class WebhookService {
|
|
|
34
34
|
async sendToTenant(tenantId, event) {
|
|
35
35
|
return this.sendInternal(event, tenantId);
|
|
36
36
|
}
|
|
37
|
+
async sendToEndpoints(endpointIds, event, tenantId) {
|
|
38
|
+
const payload = event.toPayload();
|
|
39
|
+
const eventType = event.eventType;
|
|
40
|
+
return this.deliveryRepo.runInTransaction(async (tx) => {
|
|
41
|
+
const eventId = await this.eventRepo.saveEventInTransaction(tx, eventType, payload, tenantId ?? null);
|
|
42
|
+
if (endpointIds.length === 0) {
|
|
43
|
+
this.logger.debug(`No endpoint IDs provided for event ${eventType} (eventId=${eventId})`);
|
|
44
|
+
return eventId;
|
|
45
|
+
}
|
|
46
|
+
await this.deliveryRepo.createDeliveriesInTransaction(tx, eventId, endpointIds, this.maxAttempts);
|
|
47
|
+
this.logger.log(`Event ${eventType} (${eventId}) → ${endpointIds.length} targeted endpoint(s)`);
|
|
48
|
+
return eventId;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
37
51
|
async sendInternal(event, tenantId) {
|
|
38
52
|
const payload = event.toPayload();
|
|
39
53
|
const eventType = event.eventType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.service.js","sourceRoot":"","sources":["../src/webhook.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAE5D,2DAK6B;AAOtB,IAAM,cAAc,sBAApB,MAAM,cAAc;IAMN;IAEA;IAEA;IATF,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IACzC,WAAW,CAAS;IAErC,YAEmB,SAAiC,EAEjC,YAAuC,EAEvC,YAAuC,EAExD,OAA6B;QANZ,cAAS,GAAT,SAAS,CAAwB;QAEjC,iBAAY,GAAZ,YAAY,CAA2B;QAEvC,iBAAY,GAAZ,YAAY,CAA2B;QAIxD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,KAAmB;QACtD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,KAAmB,EACnB,QAA4B;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAElC,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,sBAAsB,CACzD,EAAE,EACF,SAAS,EACT,OAAO,EACP,QAAQ,IAAI,IAAI,CACjB,CAAC;YAEF,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,YAAY,CAAC,kCAAkC,CACxD,EAAE,EACF,SAAS,EACT,QAAQ,CACT,CAAC;YAEJ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,SAAS,aAAa,OAAO,GAAG,CACpE,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,YAAY,CAAC,6BAA6B,CACnD,EAAE,EACF,OAAO,EACP,WAAW,EACX,IAAI,CAAC,WAAW,CACjB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,SAAS,KAAK,OAAO,OAAO,SAAS,CAAC,MAAM,cAAc,CACpE,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"webhook.service.js","sourceRoot":"","sources":["../src/webhook.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestarc/webhook",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Outbound webhook delivery for NestJS — HMAC signing, exponential retry, circuit breaker, delivery logs, fan-out, Standard Webhooks compatible",
|
|
5
5
|
"author": "nestarc",
|
|
6
6
|
"license": "MIT",
|