@memberjunction/communication-sendgrid 3.4.0 → 4.0.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.
- package/dist/SendGridProvider.d.ts +0 -1
- package/dist/SendGridProvider.d.ts.map +1 -1
- package/dist/SendGridProvider.js +18 -28
- package/dist/SendGridProvider.js.map +1 -1
- package/dist/config.js +3 -9
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/package.json +10 -9
|
@@ -82,5 +82,4 @@ export declare class SendGridProvider extends BaseCommunicationProvider {
|
|
|
82
82
|
*/
|
|
83
83
|
CreateDraft(params: CreateDraftParams, credentials?: SendGridCredentials): Promise<CreateDraftResult>;
|
|
84
84
|
}
|
|
85
|
-
export declare function LoadProvider(): void;
|
|
86
85
|
//# sourceMappingURL=SendGridProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendGridProvider.d.ts","sourceRoot":"","sources":["../src/SendGridProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EAGpB,iBAAiB,EACpB,MAAM,qCAAqC,CAAC;AAM7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,gBAAiB,SAAQ,yBAAyB;IAC3D;;;;OAIG;IACa,sBAAsB,IAAI,iBAAiB,EAAE;IAS7D;;;;OAIG;IACU,iBAAiB,CAC1B,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,aAAa,CAAC;IAkFzB;;;OAGG;IACU,WAAW,CACpB,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;OAGG;IACI,cAAc,CACjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;OAGG;IACI,cAAc,CACjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;OAGG;IACU,WAAW,CACpB,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,iBAAiB,CAAC;CAMhC
|
|
1
|
+
{"version":3,"file":"SendGridProvider.d.ts","sourceRoot":"","sources":["../src/SendGridProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EAGpB,iBAAiB,EACpB,MAAM,qCAAqC,CAAC;AAM7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,gBAAiB,SAAQ,yBAAyB;IAC3D;;;;OAIG;IACa,sBAAsB,IAAI,iBAAiB,EAAE;IAS7D;;;;OAIG;IACU,iBAAiB,CAC1B,OAAO,EAAE,gBAAgB,EACzB,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,aAAa,CAAC;IAkFzB;;;OAGG;IACU,WAAW,CACpB,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;;OAGG;IACI,cAAc,CACjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;OAGG;IACI,cAAc,CACjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;OAGG;IACU,WAAW,CACpB,MAAM,EAAE,iBAAiB,EACzB,WAAW,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,iBAAiB,CAAC;CAMhC"}
|
package/dist/SendGridProvider.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const communication_types_1 = require("@memberjunction/communication-types");
|
|
14
|
-
const global_1 = require("@memberjunction/global");
|
|
15
|
-
const mail_1 = __importDefault(require("@sendgrid/mail"));
|
|
16
|
-
const config_1 = require("./config");
|
|
17
|
-
const core_1 = require("@memberjunction/core");
|
|
7
|
+
import { BaseCommunicationProvider, resolveCredentialValue, validateRequiredCredentials } from "@memberjunction/communication-types";
|
|
8
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
9
|
+
import sgMail from '@sendgrid/mail';
|
|
10
|
+
import { __API_KEY } from "./config.js";
|
|
11
|
+
import { LogError, LogStatus } from "@memberjunction/core";
|
|
18
12
|
/**
|
|
19
13
|
* Implementation of the SendGrid provider for sending and receiving messages.
|
|
20
14
|
*
|
|
@@ -40,7 +34,7 @@ const core_1 = require("@memberjunction/core");
|
|
|
40
34
|
* });
|
|
41
35
|
* ```
|
|
42
36
|
*/
|
|
43
|
-
let SendGridProvider = class SendGridProvider extends
|
|
37
|
+
let SendGridProvider = class SendGridProvider extends BaseCommunicationProvider {
|
|
44
38
|
/**
|
|
45
39
|
* Returns the list of operations supported by the SendGrid provider.
|
|
46
40
|
* SendGrid is a transactional email service (send-only) and does not support
|
|
@@ -62,12 +56,12 @@ let SendGridProvider = class SendGridProvider extends communication_types_1.Base
|
|
|
62
56
|
async SendSingleMessage(message, credentials) {
|
|
63
57
|
// Resolve credentials: request values override env vars
|
|
64
58
|
const disableFallback = credentials?.disableEnvironmentFallback ?? false;
|
|
65
|
-
const apiKey =
|
|
59
|
+
const apiKey = resolveCredentialValue(credentials?.apiKey, __API_KEY, disableFallback);
|
|
66
60
|
// Validate required credentials
|
|
67
|
-
|
|
61
|
+
validateRequiredCredentials({ apiKey }, ['apiKey'], 'SendGrid');
|
|
68
62
|
const from = message.From;
|
|
69
63
|
// Set API key for this request
|
|
70
|
-
|
|
64
|
+
sgMail.setApiKey(apiKey);
|
|
71
65
|
const msg = {
|
|
72
66
|
to: message.To,
|
|
73
67
|
from: {
|
|
@@ -97,9 +91,9 @@ let SendGridProvider = class SendGridProvider extends communication_types_1.Base
|
|
|
97
91
|
msg.sendAt = unitTime;
|
|
98
92
|
}
|
|
99
93
|
try {
|
|
100
|
-
const result = await
|
|
94
|
+
const result = await sgMail.send(msg);
|
|
101
95
|
if (result && result.length > 0 && result[0].statusCode >= 200 && result[0].statusCode < 300) {
|
|
102
|
-
|
|
96
|
+
LogStatus(`Email sent to ${msg.to}: ${result[0].statusCode}`);
|
|
103
97
|
return {
|
|
104
98
|
Message: message,
|
|
105
99
|
Success: true,
|
|
@@ -107,8 +101,8 @@ let SendGridProvider = class SendGridProvider extends communication_types_1.Base
|
|
|
107
101
|
};
|
|
108
102
|
}
|
|
109
103
|
else {
|
|
110
|
-
|
|
111
|
-
|
|
104
|
+
LogError(`Error sending email to ${msg.to}:`, undefined, result);
|
|
105
|
+
LogError(result[0].body);
|
|
112
106
|
return {
|
|
113
107
|
Message: message,
|
|
114
108
|
Success: false,
|
|
@@ -119,9 +113,9 @@ let SendGridProvider = class SendGridProvider extends communication_types_1.Base
|
|
|
119
113
|
catch (error) {
|
|
120
114
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
121
115
|
const errorResponse = error?.response?.body;
|
|
122
|
-
|
|
116
|
+
LogError(`Error sending email to ${msg.to}:`, undefined, error);
|
|
123
117
|
if (errorResponse) {
|
|
124
|
-
|
|
118
|
+
LogError(errorResponse);
|
|
125
119
|
}
|
|
126
120
|
return {
|
|
127
121
|
Message: message,
|
|
@@ -162,12 +156,8 @@ let SendGridProvider = class SendGridProvider extends communication_types_1.Base
|
|
|
162
156
|
};
|
|
163
157
|
}
|
|
164
158
|
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
(0, global_1.RegisterClass)(communication_types_1.BaseCommunicationProvider, 'SendGrid')
|
|
159
|
+
SendGridProvider = __decorate([
|
|
160
|
+
RegisterClass(BaseCommunicationProvider, 'SendGrid')
|
|
168
161
|
], SendGridProvider);
|
|
169
|
-
|
|
170
|
-
// do nothing, this prevents tree shaking from removing this class
|
|
171
|
-
}
|
|
172
|
-
exports.LoadProvider = LoadProvider;
|
|
162
|
+
export { SendGridProvider };
|
|
173
163
|
//# sourceMappingURL=SendGridProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendGridProvider.js","sourceRoot":"","sources":["../src/SendGridProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SendGridProvider.js","sourceRoot":"","sources":["../src/SendGridProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.__API_KEY = void 0;
|
|
7
1
|
// TEMPORARY
|
|
8
|
-
|
|
2
|
+
import dotenv from 'dotenv';
|
|
9
3
|
// Load environment variables from .env file
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
dotenv.config({ quiet: true });
|
|
5
|
+
export const __API_KEY = process.env.COMMUNICATION_VENDOR_API_KEY__SENDGRID;
|
|
12
6
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,4CAA4C;AAC5C,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './SendGridProvider';
|
|
2
|
-
export type { SendGridCredentials } from './SendGridProvider';
|
|
1
|
+
export * from './SendGridProvider.js';
|
|
2
|
+
export type { SendGridCredentials } from './SendGridProvider.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
1
|
// PUBLIC API SURFACE AREA
|
|
18
|
-
|
|
2
|
+
export * from './SendGridProvider.js';
|
|
19
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,cAAc,oBAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/communication-sendgrid",
|
|
3
|
-
"
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "4.0.0",
|
|
4
5
|
"description": "MemberJunction: SendGrid Provider for the MJ Communication Framework",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
@@ -9,22 +10,22 @@
|
|
|
9
10
|
],
|
|
10
11
|
"scripts": {
|
|
11
12
|
"start": "ts-node-dev src/index.ts",
|
|
12
|
-
"build": "tsc",
|
|
13
|
+
"build": "tsc && tsc-alias -f",
|
|
13
14
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
14
15
|
},
|
|
15
16
|
"author": "MemberJunction.com",
|
|
16
17
|
"license": "ISC",
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"ts-node-dev": "^2.0.0",
|
|
19
|
-
"typescript": "^5.
|
|
20
|
+
"typescript": "^5.9.3"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@memberjunction/communication-types": "
|
|
23
|
-
"@memberjunction/core": "
|
|
24
|
-
"@memberjunction/core-entities": "
|
|
25
|
-
"@memberjunction/global": "
|
|
26
|
-
"@sendgrid/mail": "^8.1.
|
|
27
|
-
"dotenv": "^
|
|
23
|
+
"@memberjunction/communication-types": "4.0.0",
|
|
24
|
+
"@memberjunction/core": "4.0.0",
|
|
25
|
+
"@memberjunction/core-entities": "4.0.0",
|
|
26
|
+
"@memberjunction/global": "4.0.0",
|
|
27
|
+
"@sendgrid/mail": "^8.1.6",
|
|
28
|
+
"dotenv": "^17.2.4"
|
|
28
29
|
},
|
|
29
30
|
"repository": {
|
|
30
31
|
"type": "git",
|