@activepieces/piece-gmail 0.2.1 → 0.2.2

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,13 +1,13 @@
1
1
  {
2
2
  "name": "@activepieces/piece-gmail",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "dependencies": {
5
5
  "@sinclair/typebox": "0.26.3",
6
6
  "axios": "1.2.4",
7
7
  "dayjs": "1.11.7",
8
8
  "nanoid": "3.3.4",
9
- "@activepieces/framework": "0.3.5",
10
- "@activepieces/shared": "0.3.3",
9
+ "@activepieces/framework": "0.3.8",
10
+ "@activepieces/shared": "0.3.5",
11
11
  "tslib": "2.4.1"
12
12
  },
13
13
  "main": "./src/index.js",
@@ -1,5 +1,5 @@
1
1
  import { OAuth2PropertyValue } from "@activepieces/framework";
2
- import { GmailLabel, GmailMessage, GmailThread, GmailMessageFormat, GmailMessageResponse as GmailMessageList } from "./models";
2
+ import { GmailLabel, GmailThread, GmailMessageFormat, GmailMessageResponse as GmailMessageList } from "./models";
3
3
  interface SearchMailProps {
4
4
  access_token: string;
5
5
  from: string;
@@ -19,7 +19,46 @@ interface GetMailProps {
19
19
  format: GmailMessageFormat;
20
20
  }
21
21
  export declare const GmailRequests: {
22
- getMail: ({ access_token, format, message_id }: GetMailProps) => Promise<GmailMessage>;
22
+ getMail: ({ access_token, format, message_id }: GetMailProps) => Promise<{
23
+ id: string;
24
+ threadId: string;
25
+ labelIds: [string];
26
+ snippet: string;
27
+ historyId: string;
28
+ internalDate: number;
29
+ payload: {
30
+ partId: string;
31
+ mimeType: string;
32
+ filename: string;
33
+ headers: {
34
+ name: string;
35
+ value: string;
36
+ }[];
37
+ body: {
38
+ data: any;
39
+ size: number;
40
+ };
41
+ parts: {
42
+ parts: any[];
43
+ partId: string;
44
+ mimeType: string;
45
+ filename: string;
46
+ headers: {
47
+ name: string;
48
+ value: string;
49
+ }[];
50
+ body: {
51
+ size: number;
52
+ data: string;
53
+ };
54
+ }[];
55
+ };
56
+ sizeEstimate: number;
57
+ raw: string;
58
+ subject: string;
59
+ body_html: string;
60
+ body_plain: string;
61
+ }>;
23
62
  getThread: ({ access_token, format, thread_id }: GetMailProps) => Promise<GmailThread>;
24
63
  getLabels: (authentication: OAuth2PropertyValue) => Promise<import("@activepieces/framework").HttpResponse<{
25
64
  labels: GmailLabel[];
@@ -27,7 +66,46 @@ export declare const GmailRequests: {
27
66
  searchMail: ({ access_token, max_results, page_token: pageToken, ...mail }: SearchMailProps) => Promise<GmailMessageList | {
28
67
  nextPageToken?: string | undefined;
29
68
  messages: {
30
- message: GmailMessage;
69
+ message: {
70
+ id: string;
71
+ threadId: string;
72
+ labelIds: [string];
73
+ snippet: string;
74
+ historyId: string;
75
+ internalDate: number;
76
+ payload: {
77
+ partId: string;
78
+ mimeType: string;
79
+ filename: string;
80
+ headers: {
81
+ name: string;
82
+ value: string;
83
+ }[];
84
+ body: {
85
+ data: any;
86
+ size: number;
87
+ };
88
+ parts: {
89
+ parts: any[];
90
+ partId: string;
91
+ mimeType: string;
92
+ filename: string;
93
+ headers: {
94
+ name: string;
95
+ value: string;
96
+ }[];
97
+ body: {
98
+ size: number;
99
+ data: string;
100
+ };
101
+ }[];
102
+ };
103
+ sizeEstimate: number;
104
+ raw: string;
105
+ subject: string;
106
+ body_html: string;
107
+ body_plain: string;
108
+ };
31
109
  thread: GmailThread;
32
110
  }[];
33
111
  resultSizeEstimate: number;
@@ -17,8 +17,37 @@ exports.GmailRequests = {
17
17
  format
18
18
  }
19
19
  });
20
- console.debug("getMail response", response);
21
- return response.body;
20
+ let bodyHtml = '';
21
+ let bodyPlain = '';
22
+ const payload = response.body.payload;
23
+ let bodyParts = payload.parts || [];
24
+ const headers = payload.headers.reduce((obj, header) => {
25
+ obj[header.name.toLowerCase()] = header.value;
26
+ return obj;
27
+ }, {});
28
+ const alternateBodyPart = bodyParts.find((part) => part.mimeType.startsWith('multipart/alternative'));
29
+ if (alternateBodyPart && (alternateBodyPart === null || alternateBodyPart === void 0 ? void 0 : alternateBodyPart.parts)) {
30
+ bodyParts = alternateBodyPart.parts;
31
+ }
32
+ const subject = headers['subject'] || '';
33
+ // Determine the content type of the message body
34
+ const contentType = headers['content-type'] || 'text/plain';
35
+ const isMultipart = contentType.startsWith('multipart/');
36
+ if (isMultipart) {
37
+ // If the message is multipart, extract the plain text and HTML parts
38
+ const textPart = bodyParts.find((part) => part.mimeType === 'text/plain');
39
+ const htmlPart = bodyParts.find((part) => part.mimeType === 'text/html');
40
+ // If the message is an "alternative" multipart, use the plain text part if it exists
41
+ const preferredPart = textPart || htmlPart;
42
+ bodyHtml = htmlPart ? decodeBase64(htmlPart.body.data) : '';
43
+ bodyPlain = preferredPart ? decodeBase64(preferredPart.body.data) : '';
44
+ }
45
+ else {
46
+ // If the message is not multipart, use the body as-is
47
+ bodyPlain = decodeBase64(payload.body.data);
48
+ bodyHtml = '';
49
+ }
50
+ return Object.assign({ subject: subject, body_html: bodyHtml, body_plain: bodyPlain }, response.body);
22
51
  }),
23
52
  getThread: ({ access_token, format, thread_id }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
53
  const response = yield framework_1.httpClient.sendRequest({
@@ -32,7 +61,6 @@ exports.GmailRequests = {
32
61
  format
33
62
  }
34
63
  });
35
- console.debug("getThread response", response);
36
64
  return response.body;
37
65
  }),
38
66
  getLabels: (authentication) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -58,7 +86,7 @@ exports.GmailRequests = {
58
86
  query.push(`label:${mail.label.name}`);
59
87
  if (mail.category)
60
88
  query.push(`category:${mail.category}`);
61
- if (mail.after != null)
89
+ if (mail.after != null && mail.after > 0)
62
90
  query.push(`after:${mail.after}`);
63
91
  if (mail.before != null)
64
92
  query.push(`before:${mail.before}`);
@@ -71,7 +99,6 @@ exports.GmailRequests = {
71
99
  },
72
100
  queryParams: Object.assign({ q: query.join(" "), maxResults: `${max_results}` }, (pageToken ? { pageToken } : {}))
73
101
  });
74
- console.debug("searchMail response", response);
75
102
  if (response.body.messages) {
76
103
  const messages = yield Promise.all(response.body
77
104
  .messages
@@ -96,4 +123,7 @@ exports.GmailRequests = {
96
123
  return response.body;
97
124
  })
98
125
  };
126
+ function decodeBase64(data) {
127
+ return Buffer.from(data, 'base64').toString();
128
+ }
99
129
  //# sourceMappingURL=data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/common/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/common/data.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export interface GmailMessage {
21
21
  ];
22
22
  snippet: string;
23
23
  historyId: string;
24
- internalDate: string;
24
+ internalDate: number;
25
25
  payload: {
26
26
  partId: string;
27
27
  mimeType: string;
@@ -31,9 +31,11 @@ export interface GmailMessage {
31
31
  value: string;
32
32
  }[];
33
33
  body: {
34
+ data: any;
34
35
  size: number;
35
36
  };
36
37
  parts: {
38
+ parts: any[];
37
39
  partId: string;
38
40
  mimeType: string;
39
41
  filename: string;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/common/models.ts"],"names":[],"mappings":";;;AAsEA,IAAK,0BAGJ;AAHD,WAAK,0BAA0B;IAC7B,2CAAa,CAAA;IACb,2CAAa,CAAA;AACf,CAAC,EAHI,0BAA0B,KAA1B,0BAA0B,QAG9B;AAED,IAAK,wBAGJ;AAHD,WAAK,wBAAwB;IAC3B,yCAAa,CAAA;IACb,yCAAa,CAAA;AACf,CAAC,EAHI,wBAAwB,KAAxB,wBAAwB,QAG5B;AAED,IAAK,cAGJ;AAHD,WAAK,cAAc;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EAHI,cAAc,KAAd,cAAc,QAGlB;AAED,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,2CAAqB,CAAA;AACvB,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/common/models.ts"],"names":[],"mappings":";;;AAwEA,IAAK,0BAGJ;AAHD,WAAK,0BAA0B;IAC7B,2CAAa,CAAA;IACb,2CAAa,CAAA;AACf,CAAC,EAHI,0BAA0B,KAA1B,0BAA0B,QAG9B;AAED,IAAK,wBAGJ;AAHD,WAAK,wBAAwB;IAC3B,yCAAa,CAAA;IACb,yCAAa,CAAA;AACf,CAAC,EAHI,wBAAwB,KAAxB,wBAAwB,QAG5B;AAED,IAAK,cAGJ;AAHD,WAAK,cAAc;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EAHI,cAAc,KAAd,cAAc,QAGlB;AAED,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,2CAAqB,CAAA;AACvB,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B"}
@@ -35,6 +35,9 @@ exports.gmailNewEmailTrigger = (0, framework_1.createTrigger)({
35
35
  "historyId": '99742',
36
36
  "internalDate": '1665284181000'
37
37
  },
38
+ "body_html": "<div dir=\"ltr\">Hello World</div>",
39
+ "body_plain": "Hello World",
40
+ "subject": "Hello World",
38
41
  "thread": {
39
42
  "id": '382baac18543beg8',
40
43
  "historyId": '183baac185',
@@ -58,36 +61,65 @@ exports.gmailNewEmailTrigger = (0, framework_1.createTrigger)({
58
61
  },
59
62
  },
60
63
  type: shared_1.TriggerStrategy.POLLING,
61
- onEnable({ store }) {
64
+ onEnable({ store, propsValue }) {
62
65
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
63
- const last_read = (0, dayjs_1.default)().unix();
64
- yield (store === null || store === void 0 ? void 0 : store.put('gmail_new_email_trigger', {
65
- last_read
66
- }));
66
+ return framework_1.pollingHelper.onEnable(polling, {
67
+ store,
68
+ propsValue
69
+ });
67
70
  });
68
71
  },
69
- onDisable({ store }) {
72
+ onDisable({ store, propsValue }) {
70
73
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
- yield store.put('gmail_new_email_trigger', undefined);
74
+ return framework_1.pollingHelper.onDisable(polling, {
75
+ store,
76
+ propsValue
77
+ });
72
78
  });
73
79
  },
74
- run({ store, propsValue: { authentication, from, to, subject, label, category } }) {
80
+ test({ store, propsValue }) {
75
81
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
- const data = yield store.get('gmail_new_email_trigger');
77
- const now = (0, dayjs_1.default)().unix();
78
- const response = yield data_1.GmailRequests.searchMail({
79
- access_token: authentication.access_token,
80
- from: from,
81
- to: to,
82
- subject: subject,
83
- label: label,
84
- category: category,
85
- after: data === null || data === void 0 ? void 0 : data.last_read,
86
- before: now
82
+ return framework_1.pollingHelper.test(polling, {
83
+ store,
84
+ propsValue
85
+ });
86
+ });
87
+ },
88
+ run({ store, propsValue }) {
89
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
90
+ return framework_1.pollingHelper.poll(polling, {
91
+ store,
92
+ propsValue
87
93
  });
88
- yield store.put('gmail_new_email_trigger', { last_read: now });
89
- return response.messages;
90
94
  });
91
95
  }
92
96
  });
97
+ const polling = {
98
+ strategy: framework_1.DedupeStrategy.TIMEBASED,
99
+ items: ({ propsValue, lastFetchEpochMS }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
100
+ const items = yield getEmail(lastFetchEpochMS === 0 ? 5 : 100, Math.floor(lastFetchEpochMS / 1000), propsValue);
101
+ return items.map((item) => {
102
+ const mail = item;
103
+ return {
104
+ epochMillSeconds: (0, dayjs_1.default)(mail === null || mail === void 0 ? void 0 : mail.internalDate).valueOf(),
105
+ data: item,
106
+ };
107
+ });
108
+ })
109
+ };
110
+ function getEmail(max_result, after_unix_seconds, { authentication, from, to, subject, label, category, }) {
111
+ var _a, _b;
112
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
113
+ return (_b = (_a = (yield data_1.GmailRequests.searchMail({
114
+ max_results: max_result,
115
+ access_token: authentication.access_token,
116
+ from: from,
117
+ to: to,
118
+ subject: subject,
119
+ label: label,
120
+ category: category,
121
+ after: after_unix_seconds
122
+ }))) === null || _a === void 0 ? void 0 : _a.messages) !== null && _b !== void 0 ? _b : [];
123
+ });
124
+ }
93
125
  //# sourceMappingURL=new-email.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new-email.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/triggers/new-email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new-email.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/gmail/src/lib/triggers/new-email.ts"],"names":[],"mappings":"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"}