@clipboard-health/notifications 0.7.0 → 0.7.1
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.
- package/README.md +2 -1
- package/package.json +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/notificationClient.d.ts +2 -1
- package/src/lib/notificationClient.js +4 -3
- package/src/lib/notificationClient.js.map +1 -1
- package/src/lib/notificationJobEnqueuer.d.ts +2 -2
- package/src/lib/notificationJobEnqueuer.js +2 -2
- package/src/lib/notificationJobEnqueuer.js.map +1 -1
- package/src/lib/{internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.d.ts → triggerIdempotencyKey.d.ts} +11 -6
- package/src/lib/{internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.js → triggerIdempotencyKey.js} +15 -8
- package/src/lib/triggerIdempotencyKey.js.map +1 -0
- package/src/lib/types.d.ts +3 -3
- package/src/lib/internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.js.map +0 -1
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clipboard-health/notifications",
|
|
3
3
|
"description": "Send notifications through third-party providers.",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.1",
|
|
5
5
|
"bugs": "https://github.com/ClipboardHealth/core-utils/issues",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@clipboard-health/background-jobs-adapter": "0.2.0",
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -5,5 +5,6 @@ tslib_1.__exportStar(require("./lib/errorsInResult"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./lib/idempotencyKey"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./lib/notificationClient"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./lib/notificationJobEnqueuer"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./lib/triggerIdempotencyKey"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./lib/types"), exports);
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/notifications/src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,+DAAqC;AACrC,mEAAyC;AACzC,wEAA8C;AAC9C,sDAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/notifications/src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,+DAAqC;AACrC,mEAAyC;AACzC,wEAA8C;AAC9C,sEAA4C;AAC5C,sDAA4B"}
|
|
@@ -5,11 +5,11 @@ const util_ts_1 = require("@clipboard-health/util-ts");
|
|
|
5
5
|
const node_1 = require("@knocklabs/node");
|
|
6
6
|
const createTriggerLogParams_1 = require("./internal/createTriggerLogParams");
|
|
7
7
|
const createTriggerTraceOptions_1 = require("./internal/createTriggerTraceOptions");
|
|
8
|
-
const idempotencyKeyDoNotImportOutsideNotificationsLibrary_1 = require("./internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary");
|
|
9
8
|
const idempotentKnock_1 = require("./internal/idempotentKnock");
|
|
10
9
|
const redact_1 = require("./internal/redact");
|
|
11
10
|
const toTenantSetRequest_1 = require("./internal/toTenantSetRequest");
|
|
12
11
|
const toTriggerBody_1 = require("./internal/toTriggerBody");
|
|
12
|
+
const triggerIdempotencyKey_1 = require("./triggerIdempotencyKey");
|
|
13
13
|
const LOG_PARAMS = {
|
|
14
14
|
trigger: {
|
|
15
15
|
traceName: "notifications.trigger",
|
|
@@ -99,8 +99,9 @@ class NotificationClient {
|
|
|
99
99
|
* },
|
|
100
100
|
* expiresAt,
|
|
101
101
|
* idempotencyKey,
|
|
102
|
-
* workflowKey,
|
|
102
|
+
* key: workflowKey,
|
|
103
103
|
* keysToRedact: ["secret"],
|
|
104
|
+
* workflowKey,
|
|
104
105
|
* });
|
|
105
106
|
* }
|
|
106
107
|
* }
|
|
@@ -121,7 +122,7 @@ class NotificationClient {
|
|
|
121
122
|
this.logTriggerRequest({ logParams, body, keysToRedact });
|
|
122
123
|
const response = await this.provider.workflows.trigger(
|
|
123
124
|
/* istanbul ignore next */ workflowKey ?? key, triggerBody, {
|
|
124
|
-
idempotencyKey: idempotencyKey instanceof
|
|
125
|
+
idempotencyKey: idempotencyKey instanceof triggerIdempotencyKey_1.TriggerIdempotencyKey
|
|
125
126
|
? idempotencyKey.toHash({ workplaceId: params.body.workplaceId })
|
|
126
127
|
: /* istanbul ignore next */
|
|
127
128
|
idempotencyKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationClient.js","sourceRoot":"","sources":["../../../../../packages/notifications/src/lib/notificationClient.ts"],"names":[],"mappings":";;;AAAA,uDAQmC;AACnC,0CAAgD;AAEhD,8EAA2E;AAC3E,oFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"notificationClient.js","sourceRoot":"","sources":["../../../../../packages/notifications/src/lib/notificationClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type BackgroundJobsAdapter } from "@clipboard-health/background-jobs-adapter";
|
|
2
2
|
import { type IdempotencyKey } from "./idempotencyKey";
|
|
3
|
-
import { IdempotencyKeyDoNotImportOutsideNotificationsLibrary } from "./internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary";
|
|
4
3
|
import { type ErrorCode } from "./notificationClient";
|
|
4
|
+
import { TriggerIdempotencyKey } from "./triggerIdempotencyKey";
|
|
5
5
|
import { type TriggerRequest } from "./types";
|
|
6
6
|
/**
|
|
7
7
|
* Assuming `NotificationClient` is called from a background job with unchanging recipients, only
|
|
@@ -19,7 +19,7 @@ export interface NotificationEnqueueData {
|
|
|
19
19
|
workflowKey: string;
|
|
20
20
|
}
|
|
21
21
|
export interface NotificationJobData extends Omit<NotificationEnqueueData, "idempotencyKey"> {
|
|
22
|
-
idempotencyKey:
|
|
22
|
+
idempotencyKey: TriggerIdempotencyKey;
|
|
23
23
|
}
|
|
24
24
|
interface NotificationJobEnqueuerParams {
|
|
25
25
|
adapter: BackgroundJobsAdapter;
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NotificationJobEnqueuer = exports.RETRYABLE_ERRORS = void 0;
|
|
4
4
|
const background_jobs_adapter_1 = require("@clipboard-health/background-jobs-adapter");
|
|
5
5
|
const chunkRecipients_1 = require("./internal/chunkRecipients");
|
|
6
|
-
const idempotencyKeyDoNotImportOutsideNotificationsLibrary_1 = require("./internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary");
|
|
7
6
|
const notificationClient_1 = require("./notificationClient");
|
|
7
|
+
const triggerIdempotencyKey_1 = require("./triggerIdempotencyKey");
|
|
8
8
|
/**
|
|
9
9
|
* Assuming `NotificationClient` is called from a background job with unchanging recipients, only
|
|
10
10
|
* the following are retryable.
|
|
@@ -84,7 +84,7 @@ class NotificationJobEnqueuer {
|
|
|
84
84
|
// The job's idempotency/unique key is set automatically.
|
|
85
85
|
options) {
|
|
86
86
|
await Promise.all((0, chunkRecipients_1.chunkRecipients)({ recipients: data.recipients }).map(async ({ number, recipients }) => {
|
|
87
|
-
const idempotencyKey =
|
|
87
|
+
const idempotencyKey = triggerIdempotencyKey_1.TriggerIdempotencyKey.DO_NOT_CALL_THIS_OUTSIDE_OF_TESTS({
|
|
88
88
|
...data.idempotencyKey,
|
|
89
89
|
chunk: number,
|
|
90
90
|
recipients,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationJobEnqueuer.js","sourceRoot":"","sources":["../../../../../packages/notifications/src/lib/notificationJobEnqueuer.ts"],"names":[],"mappings":";;;AAAA,uFAGmD;AAGnD,gEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"notificationJobEnqueuer.js","sourceRoot":"","sources":["../../../../../packages/notifications/src/lib/notificationJobEnqueuer.ts"],"names":[],"mappings":";;;AAAA,uFAGmD;AAGnD,gEAA6D;AAC7D,6DAAmE;AACnE,mEAAgE;AAOhE;;;GAGG;AACU,QAAA,gBAAgB,GAAgB,CAAC,gCAAW,CAAC,OAAO,CAAC,CAAC;AAyBnE,MAAa,uBAAuB;IACjB,OAAO,CAA2C;IAEnE,YAAY,MAAqC;QAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+DG;IACH,KAAK,CAAC,gBAAgB,CACpB,sBAA4C,EAC5C,IAAkB;IAClB,yDAAyD;IACzD,OAAiE;QAEjE,MAAM,OAAO,CAAC,GAAG,CACf,IAAA,iCAAe,EAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;YACpF,MAAM,cAAc,GAAG,6CAAqB,CAAC,iCAAiC,CAAC;gBAC7E,GAAG,IAAI,CAAC,cAAc;gBACtB,KAAK,EAAE,MAAM;gBACb,UAAU;gBACV,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CACxB,sBAAsB,EACtB,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,EACvC;gBACE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClC,CAAC,6CAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,EAC/D,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;aAC5B,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AApGD,0DAoGC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IdempotencyKey, type IdempotencyKeyParams } from "
|
|
2
|
-
interface
|
|
1
|
+
import { IdempotencyKey, type IdempotencyKeyParams } from "./idempotencyKey";
|
|
2
|
+
interface TriggerIdempotencyKeyParams extends IdempotencyKeyParams {
|
|
3
3
|
/**
|
|
4
4
|
* The recipient chunk number.
|
|
5
5
|
*/
|
|
@@ -18,16 +18,21 @@ interface IdempotencyKeyDoNotImportOutsideNotificationsLibraryParams extends Ide
|
|
|
18
18
|
* after properly enqueuing a job using `NotificationJobEnqueuer.enqueueOneOrMore` to help ensure
|
|
19
19
|
* we're following best practices so customers don't receive duplicate or stale notifications.
|
|
20
20
|
*
|
|
21
|
-
* Yes, you could import this class into your service and call
|
|
22
|
-
* directly. We're using the honor system in hopes that enforcement is
|
|
21
|
+
* Yes, you could import this class into your service, create an instance, and call
|
|
22
|
+
* `NotificationClient.trigger` directly. We're using the honor system in hopes that enforcement is
|
|
23
|
+
* unnecessary.
|
|
23
24
|
*
|
|
24
25
|
* @see {@link NotificationJobEnqueuer.enqueueOneOrMore}.
|
|
25
26
|
*/
|
|
26
|
-
export declare class
|
|
27
|
+
export declare class TriggerIdempotencyKey extends IdempotencyKey {
|
|
28
|
+
/**
|
|
29
|
+
* @see {@link TriggerIdempotencyKey}.
|
|
30
|
+
*/
|
|
31
|
+
static DO_NOT_CALL_THIS_OUTSIDE_OF_TESTS(params: TriggerIdempotencyKeyParams): TriggerIdempotencyKey;
|
|
27
32
|
private readonly chunk;
|
|
28
33
|
private readonly recipients;
|
|
29
34
|
private readonly workflowKey;
|
|
30
|
-
constructor(
|
|
35
|
+
private constructor();
|
|
31
36
|
toHash(params: {
|
|
32
37
|
workplaceId?: string | undefined;
|
|
33
38
|
}): string;
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TriggerIdempotencyKey = void 0;
|
|
4
4
|
const util_ts_1 = require("@clipboard-health/util-ts");
|
|
5
|
-
const idempotencyKey_1 = require("
|
|
6
|
-
const createDeterministicHash_1 = require("./createDeterministicHash");
|
|
5
|
+
const idempotencyKey_1 = require("./idempotencyKey");
|
|
6
|
+
const createDeterministicHash_1 = require("./internal/createDeterministicHash");
|
|
7
7
|
/**
|
|
8
8
|
* Idempotency keys prevent duplicate notifications. `NotificationClient.trigger` should be called
|
|
9
9
|
* after properly enqueuing a job using `NotificationJobEnqueuer.enqueueOneOrMore` to help ensure
|
|
10
10
|
* we're following best practices so customers don't receive duplicate or stale notifications.
|
|
11
11
|
*
|
|
12
|
-
* Yes, you could import this class into your service and call
|
|
13
|
-
* directly. We're using the honor system in hopes that enforcement is
|
|
12
|
+
* Yes, you could import this class into your service, create an instance, and call
|
|
13
|
+
* `NotificationClient.trigger` directly. We're using the honor system in hopes that enforcement is
|
|
14
|
+
* unnecessary.
|
|
14
15
|
*
|
|
15
16
|
* @see {@link NotificationJobEnqueuer.enqueueOneOrMore}.
|
|
16
17
|
*/
|
|
17
|
-
class
|
|
18
|
+
class TriggerIdempotencyKey extends idempotencyKey_1.IdempotencyKey {
|
|
19
|
+
/**
|
|
20
|
+
* @see {@link TriggerIdempotencyKey}.
|
|
21
|
+
*/
|
|
22
|
+
static DO_NOT_CALL_THIS_OUTSIDE_OF_TESTS(params) {
|
|
23
|
+
return new TriggerIdempotencyKey(params);
|
|
24
|
+
}
|
|
18
25
|
chunk;
|
|
19
26
|
recipients;
|
|
20
27
|
workflowKey;
|
|
@@ -39,5 +46,5 @@ class IdempotencyKeyDoNotImportOutsideNotificationsLibrary extends idempotencyKe
|
|
|
39
46
|
.join(","));
|
|
40
47
|
}
|
|
41
48
|
}
|
|
42
|
-
exports.
|
|
43
|
-
//# sourceMappingURL=
|
|
49
|
+
exports.TriggerIdempotencyKey = TriggerIdempotencyKey;
|
|
50
|
+
//# sourceMappingURL=triggerIdempotencyKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggerIdempotencyKey.js","sourceRoot":"","sources":["../../../../../packages/notifications/src/lib/triggerIdempotencyKey.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAEtD,qDAA6E;AAC7E,gFAA6E;AAuB7E;;;;;;;;;;GAUG;AACH,MAAa,qBAAsB,SAAQ,+BAAc;IACvD;;OAEG;IACI,MAAM,CAAC,iCAAiC,CAC7C,MAAmC;QAEnC,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEgB,KAAK,CAAuC;IAC5C,UAAU,CAA4C;IACtD,WAAW,CAA6C;IAEzE,YAAoB,MAAmC;QACrD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAE3D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,MAA4C;QACxD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE/B,OAAO,IAAA,iDAAuB,EAC5B;YACE,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACzB,WAAW;SACZ;aACE,MAAM,CAAC,mBAAS,CAAC;aACjB,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;IACJ,CAAC;CACF;AAvCD,sDAuCC"}
|
package/src/lib/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Logger } from "@clipboard-health/util-ts";
|
|
2
|
-
import { type IdempotencyKeyDoNotImportOutsideNotificationsLibrary } from "./internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary";
|
|
3
2
|
import { type IdempotentKnock } from "./internal/idempotentKnock";
|
|
3
|
+
import { type TriggerIdempotencyKey } from "./triggerIdempotencyKey";
|
|
4
4
|
export type Tags = Record<string, unknown>;
|
|
5
5
|
export interface TraceOptions {
|
|
6
6
|
resource?: string;
|
|
@@ -134,9 +134,9 @@ export interface TriggerRequest {
|
|
|
134
134
|
/** Trigger payload. */
|
|
135
135
|
body: TriggerBody;
|
|
136
136
|
/**
|
|
137
|
-
* @see {@link
|
|
137
|
+
* @see {@link TriggerIdempotencyKey}
|
|
138
138
|
*/
|
|
139
|
-
idempotencyKey: string |
|
|
139
|
+
idempotencyKey: string | TriggerIdempotencyKey;
|
|
140
140
|
/** Array of data keys to redact in logs for privacy. */
|
|
141
141
|
keysToRedact?: string[];
|
|
142
142
|
/**
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"idempotencyKeyDoNotImportOutsideNotificationsLibrary.js","sourceRoot":"","sources":["../../../../../../packages/notifications/src/lib/internal/idempotencyKeyDoNotImportOutsideNotificationsLibrary.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAEtD,sDAA8E;AAK9E,uEAAoE;AAmBpE;;;;;;;;;GASG;AACH,MAAa,oDAAqD,SAAQ,+BAAc;IACrE,KAAK,CAAsE;IAC3E,UAAU,CAA2E;IACrF,WAAW,CAA4E;IAExG,YAAY,MAAkE;QAC5E,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAE3D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAA4C;QACjD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE/B,OAAO,IAAA,iDAAuB,EAC5B;YACE,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YACzB,WAAW;SACZ;aACE,MAAM,CAAC,mBAAS,CAAC;aACjB,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;IACJ,CAAC;CACF;AA9BD,oHA8BC"}
|