@activepieces/piece-gmail 0.3.0 → 0.4.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/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "@activepieces/piece-gmail",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "dependencies": {
5
5
  "@sinclair/typebox": "^0.26.3",
6
6
  "axios": "1.2.4",
7
7
  "dayjs": "^1.11.8",
8
+ "mime-types": "^2.1.35",
8
9
  "nanoid": "^3.3.4",
9
- "@activepieces/pieces-common": "0.1.0",
10
- "@activepieces/pieces-framework": "0.4.0",
11
- "@activepieces/shared": "0.4.0",
10
+ "nodemailer": "^6.9.3",
11
+ "semver": "7.5.3",
12
+ "@activepieces/pieces-common": "0.2.0",
13
+ "@activepieces/pieces-framework": "0.5.0",
14
+ "@activepieces/shared": "0.5.3",
12
15
  "tslib": "1.14.1"
13
16
  },
14
17
  "main": "./src/index.js",
package/src/index.js CHANGED
@@ -17,7 +17,7 @@ exports.gmail = (0, pieces_framework_1.createPiece)({
17
17
  logoUrl: 'https://cdn.activepieces.com/pieces/gmail.png',
18
18
  actions: [send_email_action_1.gmailSendEmailAction],
19
19
  displayName: 'Gmail',
20
- authors: ['AbdulTheActivePiecer', 'kanarelo'],
20
+ authors: ['AbdulTheActivePiecer', 'kanarelo', 'BastienMe'],
21
21
  triggers: [],
22
22
  auth: exports.gmailAuth,
23
23
  });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/gmail/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,uEAAuE;AAE1D,QAAA,SAAS,GAAG,4BAAS,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ,EAAE,IAAI;IACd,sFAAsF;IACtF,KAAK,EAAE,CAAC,4CAA4C,CAAC;CACxD,CAAC,CAAA;AAEW,QAAA,KAAK,GAAG,IAAA,8BAAW,EAAC;IAC5B,uBAAuB,EAAE,OAAO;IACjC,OAAO,EAAE,+CAA+C;IAC3D,OAAO,EAAE,CAAC,wCAAoB,CAAC;IAC/B,WAAW,EAAE,OAAO;IACpB,OAAO,EAAE,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAC7C,QAAQ,EAAE,EAAE;IACT,IAAI,EAAE,iBAAS;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/gmail/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,uEAAuE;AAE1D,QAAA,SAAS,GAAG,4BAAS,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ,EAAE,IAAI;IACd,sFAAsF;IACtF,KAAK,EAAE,CAAC,4CAA4C,CAAC;CACxD,CAAC,CAAA;AAEW,QAAA,KAAK,GAAG,IAAA,8BAAW,EAAC;IAC5B,uBAAuB,EAAE,OAAO;IACjC,OAAO,EAAE,+CAA+C;IAC3D,OAAO,EAAE,CAAC,wCAAoB,CAAC;IAC/B,WAAW,EAAE,OAAO;IACpB,OAAO,EAAE,CAAC,sBAAsB,EAAE,UAAU,EAAE,WAAW,CAAC;IAC1D,QAAQ,EAAE,EAAE;IACT,IAAI,EAAE,iBAAS;CAClB,CAAC,CAAC"}
@@ -4,4 +4,5 @@ export declare const gmailSendEmailAction: import("@activepieces/pieces-framewor
4
4
  body_text: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
5
  reply_to: import("@activepieces/pieces-framework").ArrayProperty<false>;
6
6
  body_html: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
+ attachment: import("@activepieces/pieces-framework").FileProperty<false>;
7
8
  }>;
@@ -5,6 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const pieces_common_1 = require("@activepieces/pieces-common");
7
7
  const __1 = require("../../");
8
+ const mail_composer_1 = tslib_1.__importDefault(require("nodemailer/lib/mail-composer"));
9
+ const mime_types_1 = tslib_1.__importDefault(require("mime-types"));
8
10
  exports.gmailSendEmailAction = (0, pieces_framework_1.createAction)({
9
11
  auth: __1.gmailAuth,
10
12
  name: 'send_email',
@@ -35,26 +37,60 @@ exports.gmailSendEmailAction = (0, pieces_framework_1.createAction)({
35
37
  displayName: 'Body (HTML)',
36
38
  description: 'HTML version of the body for the email you want to send',
37
39
  required: false,
38
- })
40
+ }),
41
+ attachment: pieces_framework_1.Property.File({
42
+ displayName: 'Attachment',
43
+ description: 'File to attach to the email you want to send',
44
+ required: false,
45
+ }),
46
+ },
47
+ sampleData: {
48
+ "status": 200,
49
+ "headers": {
50
+ "content-type": "application/json; charset=UTF-8",
51
+ "vary": "Origin, X-Origin, Referer",
52
+ "date": "Mon, 17 Jul 2023 08:34:57 GMT",
53
+ "server": "ESF",
54
+ "cache-control": "private",
55
+ "x-xss-protection": "0",
56
+ "x-frame-options": "SAMEORIGIN",
57
+ "x-content-type-options": "nosniff",
58
+ "alt-svc": "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
59
+ "connection": "close",
60
+ "transfer-encoding": "chunked"
61
+ },
62
+ "body": {
63
+ "id": "17862bf0653c7e4f",
64
+ "threadId": "17862bf0653c7e4f",
65
+ "labelIds": [
66
+ "SENT"
67
+ ]
68
+ }
39
69
  },
40
- sampleData: {},
41
70
  run(configValue) {
42
- var _a;
43
71
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
72
  const subjectBase64 = Buffer.from(configValue.propsValue['subject']).toString("base64");
45
- const headers = [
46
- `subject: =?UTF-8?B?${subjectBase64}?=`,
47
- "to: " + configValue.propsValue['receiver'].join(', '),
48
- "mime-version: 1.0",
49
- "content-type: text/html"
50
- ];
51
- if (configValue.propsValue['reply_to']) {
52
- headers.push("reply-to: " + configValue.propsValue['reply_to'].join(', '));
53
- }
54
- const plainTextBody = configValue.propsValue['body_text'].replace(/\n/g, '<br>');
55
- const message = headers.join("\n") + "\n\n" + ((_a = configValue.propsValue['body_html']) !== null && _a !== void 0 ? _a : plainTextBody);
73
+ const attachment = configValue.propsValue['attachment'];
74
+ const replyTo = configValue.propsValue['reply_to'];
75
+ const mailOptions = {
76
+ to: configValue.propsValue['receiver'].join(', '),
77
+ subject: `=?UTF-8?B?${subjectBase64}?=`,
78
+ replyTo: replyTo ? replyTo.join(', ') : "",
79
+ text: configValue.propsValue['body_text'].replace(/\n/g, '<br>'),
80
+ html: configValue.propsValue['body_html'],
81
+ attachments: [{}]
82
+ };
83
+ const attachmentOption = [{
84
+ filename: attachment === null || attachment === void 0 ? void 0 : attachment.filename,
85
+ content: attachment === null || attachment === void 0 ? void 0 : attachment.base64,
86
+ contentType: mime_types_1.default.lookup((attachment === null || attachment === void 0 ? void 0 : attachment.extension) ? attachment === null || attachment === void 0 ? void 0 : attachment.extension : ''),
87
+ encoding: 'base64',
88
+ }];
89
+ mailOptions.attachments = attachmentOption;
90
+ const mail = new mail_composer_1.default(mailOptions).compile();
91
+ const mailBody = yield mail.build();
56
92
  const requestBody = {
57
- raw: Buffer.from(message).toString("base64").replace(/\+/g, '-').replace(/\//g, '_'),
93
+ raw: Buffer.from(mailBody).toString("base64").replace(/\+/g, '-').replace(/\//g, '_'),
58
94
  };
59
95
  const request = {
60
96
  method: pieces_common_1.HttpMethod.POST,
@@ -1 +1 @@
1
- {"version":3,"file":"send-email-action.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/actions/send-email-action.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAsG;AACtG,8BAAmC;AAEtB,QAAA,oBAAoB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,aAAS;IACX,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,uCAAuC;IACpD,WAAW,EAAE,YAAY;IACzB,KAAK,EAAE;QACH,QAAQ,EAAE,2BAAQ,CAAC,KAAK,CAAC;YACrB,WAAW,EAAE,qBAAqB;YAClC,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,IAAI;SACjB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,KAAK,CAAC;YACrB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;IACD,UAAU,EAAE,EAAE;IACR,GAAG,CAAC,WAAW;;;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG;gBACZ,sBAAsB,aAAa,IAAI;gBACvC,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtD,mBAAmB;gBACnB,yBAAyB;aAC5B,CAAC;YACF,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9E;YACD,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,MAAA,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,mCAAI,aAAa,CAAC,CAAC;YACrG,MAAM,WAAW,GAAyB;gBACtC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACvF,CAAC;YACF,MAAM,OAAO,GAAyC;gBAClD,MAAM,EAAE,0BAAU,CAAC,IAAI;gBACvB,GAAG,EAAE,8DAA8D;gBACnE,IAAI,EAAE,WAAW;gBACjB,cAAc,EAAE;oBACZ,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY;iBACvC;gBACD,WAAW,EAAE,EAAE;aAClB,CAAC;YACF,OAAO,MAAM,0BAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;;KAChD;CAER,CAAC,CAAC"}
1
+ {"version":3,"file":"send-email-action.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/actions/send-email-action.ts"],"names":[],"mappings":"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"}