@memberjunction/communication-gmail 2.124.0 → 2.125.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.
@@ -28,9 +28,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  __setModuleDefault(result, mod);
29
29
  return result;
30
30
  };
31
- var __metadata = (this && this.__metadata) || function (k, v) {
32
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
- };
34
31
  Object.defineProperty(exports, "__esModule", { value: true });
35
32
  exports.LoadProvider = exports.GmailProvider = void 0;
36
33
  const communication_types_1 = require("@memberjunction/communication-types");
@@ -40,28 +37,71 @@ const Config = __importStar(require("./config"));
40
37
  const googleApis = __importStar(require("googleapis"));
41
38
  let GmailProvider = class GmailProvider extends communication_types_1.BaseCommunicationProvider {
42
39
  constructor() {
43
- super();
44
- this.userEmail = null;
45
- const oauth2Client = new googleApis.google.auth.OAuth2(Config.GMAIL_CLIENT_ID, Config.GMAIL_CLIENT_SECRET, Config.GMAIL_REDIRECT_URI);
40
+ super(...arguments);
41
+ this.envGmailClient = null;
42
+ this.clientCache = new Map();
43
+ }
44
+ resolveCredentials(credentials) {
45
+ const disableFallback = credentials?.disableEnvironmentFallback ?? false;
46
+ const clientId = (0, communication_types_1.resolveCredentialValue)(credentials?.clientId, Config.GMAIL_CLIENT_ID, disableFallback);
47
+ const clientSecret = (0, communication_types_1.resolveCredentialValue)(credentials?.clientSecret, Config.GMAIL_CLIENT_SECRET, disableFallback);
48
+ const redirectUri = (0, communication_types_1.resolveCredentialValue)(credentials?.redirectUri, Config.GMAIL_REDIRECT_URI, disableFallback);
49
+ const refreshToken = (0, communication_types_1.resolveCredentialValue)(credentials?.refreshToken, Config.GMAIL_REFRESH_TOKEN, disableFallback);
50
+ const serviceAccountEmail = (0, communication_types_1.resolveCredentialValue)(credentials?.serviceAccountEmail, Config.GMAIL_SERVICE_ACCOUNT_EMAIL, disableFallback);
51
+ (0, communication_types_1.validateRequiredCredentials)({ clientId, clientSecret, redirectUri, refreshToken }, ['clientId', 'clientSecret', 'redirectUri', 'refreshToken'], 'Gmail');
52
+ return {
53
+ clientId: clientId,
54
+ clientSecret: clientSecret,
55
+ redirectUri: redirectUri,
56
+ refreshToken: refreshToken,
57
+ serviceAccountEmail: serviceAccountEmail || ''
58
+ };
59
+ }
60
+ createGmailClient(creds) {
61
+ const oauth2Client = new googleApis.google.auth.OAuth2(creds.clientId, creds.clientSecret, creds.redirectUri);
46
62
  oauth2Client.setCredentials({
47
- refresh_token: Config.GMAIL_REFRESH_TOKEN
63
+ refresh_token: creds.refreshToken
48
64
  });
49
- this.gmailClient = googleApis.google.gmail({
65
+ return googleApis.google.gmail({
50
66
  version: 'v1',
51
67
  auth: oauth2Client
52
68
  });
53
69
  }
54
- async getUserEmail() {
55
- if (this.userEmail) {
56
- return this.userEmail;
70
+ getGmailClient(creds) {
71
+ const isEnvCredentials = creds.clientId === Config.GMAIL_CLIENT_ID &&
72
+ creds.clientSecret === Config.GMAIL_CLIENT_SECRET &&
73
+ creds.refreshToken === Config.GMAIL_REFRESH_TOKEN;
74
+ if (isEnvCredentials) {
75
+ if (!this.envGmailClient) {
76
+ this.envGmailClient = {
77
+ client: this.createGmailClient(creds),
78
+ userEmail: null
79
+ };
80
+ }
81
+ return this.envGmailClient;
82
+ }
83
+ const cacheKey = `${creds.clientId}:${creds.refreshToken.substring(0, 10)}`;
84
+ let cached = this.clientCache.get(cacheKey);
85
+ if (!cached) {
86
+ cached = {
87
+ client: this.createGmailClient(creds),
88
+ userEmail: null
89
+ };
90
+ this.clientCache.set(cacheKey, cached);
91
+ }
92
+ return cached;
93
+ }
94
+ async getUserEmail(cached) {
95
+ if (cached.userEmail) {
96
+ return cached.userEmail;
57
97
  }
58
98
  try {
59
- const response = await this.gmailClient.users.getProfile({
99
+ const response = await cached.client.users.getProfile({
60
100
  userId: 'me'
61
101
  });
62
102
  if (response.data && response.data.emailAddress) {
63
- this.userEmail = response.data.emailAddress;
64
- return this.userEmail;
103
+ cached.userEmail = response.data.emailAddress;
104
+ return cached.userEmail;
65
105
  }
66
106
  return null;
67
107
  }
@@ -70,8 +110,8 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
70
110
  return null;
71
111
  }
72
112
  }
73
- createEmailContent(message) {
74
- const from = message.From || Config.GMAIL_SERVICE_ACCOUNT_EMAIL;
113
+ createEmailContent(message, creds) {
114
+ const from = message.From || creds.serviceAccountEmail;
75
115
  const fromName = message.FromName || '';
76
116
  const fromHeader = fromName ? `${fromName} <${from}>` : from;
77
117
  const subject = message.ProcessedSubject;
@@ -111,9 +151,11 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
111
151
  }
112
152
  return Buffer.from(emailContent.join('\r\n')).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
113
153
  }
114
- async SendSingleMessage(message) {
154
+ async SendSingleMessage(message, credentials) {
115
155
  try {
116
- const userEmail = await this.getUserEmail();
156
+ const creds = this.resolveCredentials(credentials);
157
+ const cached = this.getGmailClient(creds);
158
+ const userEmail = await this.getUserEmail(cached);
117
159
  if (!userEmail) {
118
160
  return {
119
161
  Message: message,
@@ -121,8 +163,8 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
121
163
  Error: 'Could not get user email'
122
164
  };
123
165
  }
124
- const raw = this.createEmailContent(message);
125
- const result = await this.gmailClient.users.messages.send({
166
+ const raw = this.createEmailContent(message, creds);
167
+ const result = await cached.client.users.messages.send({
126
168
  userId: 'me',
127
169
  requestBody: {
128
170
  raw
@@ -146,17 +188,20 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
146
188
  }
147
189
  }
148
190
  catch (error) {
191
+ const errorMessage = error instanceof Error ? error.message : 'Error sending message';
149
192
  (0, core_1.LogError)('Error sending message via Gmail', undefined, error);
150
193
  return {
151
194
  Message: message,
152
195
  Success: false,
153
- Error: error.message || 'Error sending message'
196
+ Error: errorMessage
154
197
  };
155
198
  }
156
199
  }
157
- async GetMessages(params) {
200
+ async GetMessages(params, credentials) {
158
201
  try {
159
- const userEmail = await this.getUserEmail();
202
+ const creds = this.resolveCredentials(credentials);
203
+ const cached = this.getGmailClient(creds);
204
+ const userEmail = await this.getUserEmail(cached);
160
205
  if (!userEmail) {
161
206
  return {
162
207
  Success: false,
@@ -171,7 +216,7 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
171
216
  if (params.ContextData?.query) {
172
217
  query = params.ContextData.query;
173
218
  }
174
- const response = await this.gmailClient.users.messages.list({
219
+ const response = await cached.client.users.messages.list({
175
220
  userId: 'me',
176
221
  maxResults: params.NumMessages,
177
222
  q: query
@@ -183,7 +228,7 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
183
228
  };
184
229
  }
185
230
  const messagePromises = response.data.messages.map(async (message) => {
186
- const fullMessage = await this.gmailClient.users.messages.get({
231
+ const fullMessage = await cached.client.users.messages.get({
187
232
  userId: 'me',
188
233
  id: message.id || '',
189
234
  format: 'full'
@@ -224,7 +269,7 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
224
269
  if (params.ContextData?.MarkAsRead) {
225
270
  for (const message of fullMessages) {
226
271
  if (message.id) {
227
- await this.markMessageAsRead(message.id);
272
+ await this.markMessageAsRead(cached.client, message.id);
228
273
  }
229
274
  }
230
275
  }
@@ -235,15 +280,16 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
235
280
  };
236
281
  }
237
282
  catch (error) {
283
+ const errorMessage = error instanceof Error ? error.message : 'Error getting messages';
238
284
  (0, core_1.LogError)('Error getting messages from Gmail', undefined, error);
239
285
  return {
240
286
  Success: false,
241
287
  Messages: [],
242
- ErrorMessage: error.message || 'Error getting messages'
288
+ ErrorMessage: errorMessage
243
289
  };
244
290
  }
245
291
  }
246
- async ReplyToMessage(params) {
292
+ async ReplyToMessage(params, credentials) {
247
293
  try {
248
294
  if (!params.MessageID) {
249
295
  return {
@@ -251,7 +297,9 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
251
297
  ErrorMessage: 'Message ID not provided'
252
298
  };
253
299
  }
254
- const originalMessage = await this.gmailClient.users.messages.get({
300
+ const creds = this.resolveCredentials(credentials);
301
+ const cached = this.getGmailClient(creds);
302
+ const originalMessage = await cached.client.users.messages.get({
255
303
  userId: 'me',
256
304
  id: params.MessageID
257
305
  });
@@ -261,8 +309,8 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
261
309
  ErrorMessage: 'Could not get thread ID from original message'
262
310
  };
263
311
  }
264
- const raw = this.createEmailContent(params.Message);
265
- const result = await this.gmailClient.users.messages.send({
312
+ const raw = this.createEmailContent(params.Message, creds);
313
+ const result = await cached.client.users.messages.send({
266
314
  userId: 'me',
267
315
  requestBody: {
268
316
  raw,
@@ -283,14 +331,15 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
283
331
  }
284
332
  }
285
333
  catch (error) {
334
+ const errorMessage = error instanceof Error ? error.message : 'Error replying to message';
286
335
  (0, core_1.LogError)('Error replying to message via Gmail', undefined, error);
287
336
  return {
288
337
  Success: false,
289
- ErrorMessage: error.message || 'Error replying to message'
338
+ ErrorMessage: errorMessage
290
339
  };
291
340
  }
292
341
  }
293
- async ForwardMessage(params) {
342
+ async ForwardMessage(params, credentials) {
294
343
  try {
295
344
  if (!params.MessageID) {
296
345
  return {
@@ -298,7 +347,9 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
298
347
  ErrorMessage: 'Message ID not provided'
299
348
  };
300
349
  }
301
- const originalMessage = await this.gmailClient.users.messages.get({
350
+ const creds = this.resolveCredentials(credentials);
351
+ const cached = this.getGmailClient(creds);
352
+ const originalMessage = await cached.client.users.messages.get({
302
353
  userId: 'me',
303
354
  id: params.MessageID,
304
355
  format: 'raw'
@@ -310,13 +361,13 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
310
361
  };
311
362
  }
312
363
  const rawContent = Buffer.from(originalMessage.data.raw, 'base64').toString('utf-8');
313
- const userEmail = await this.getUserEmail();
364
+ const userEmail = await this.getUserEmail(cached);
314
365
  const to = params.ToRecipients.join(', ');
315
366
  const cc = params.CCRecipients?.join(', ') || '';
316
367
  const bcc = params.BCCRecipients?.join(', ') || '';
317
368
  const subjectMatch = rawContent.match(/Subject: (.*?)(\r?\n)/);
318
369
  const subject = subjectMatch ? `Fwd: ${subjectMatch[1]}` : 'Fwd: ';
319
- let emailContent = [
370
+ const emailContent = [
320
371
  `From: ${userEmail}`,
321
372
  `To: ${to}`,
322
373
  `Subject: ${subject}`
@@ -347,7 +398,7 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
347
398
  .replace(/\+/g, '-')
348
399
  .replace(/\//g, '_')
349
400
  .replace(/=+$/, '');
350
- const result = await this.gmailClient.users.messages.send({
401
+ const result = await cached.client.users.messages.send({
351
402
  userId: 'me',
352
403
  requestBody: {
353
404
  raw
@@ -367,16 +418,17 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
367
418
  }
368
419
  }
369
420
  catch (error) {
421
+ const errorMessage = error instanceof Error ? error.message : 'Error forwarding message';
370
422
  (0, core_1.LogError)('Error forwarding message via Gmail', undefined, error);
371
423
  return {
372
424
  Success: false,
373
- ErrorMessage: error.message || 'Error forwarding message'
425
+ ErrorMessage: errorMessage
374
426
  };
375
427
  }
376
428
  }
377
- async markMessageAsRead(messageId) {
429
+ async markMessageAsRead(gmailClient, messageId) {
378
430
  try {
379
- await this.gmailClient.users.messages.modify({
431
+ await gmailClient.users.messages.modify({
380
432
  userId: 'me',
381
433
  id: messageId,
382
434
  requestBody: {
@@ -390,17 +442,19 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
390
442
  return false;
391
443
  }
392
444
  }
393
- async CreateDraft(params) {
445
+ async CreateDraft(params, credentials) {
394
446
  try {
395
- const userEmail = await this.getUserEmail();
447
+ const creds = this.resolveCredentials(credentials);
448
+ const cached = this.getGmailClient(creds);
449
+ const userEmail = await this.getUserEmail(cached);
396
450
  if (!userEmail) {
397
451
  return {
398
452
  Success: false,
399
453
  ErrorMessage: 'Could not get user email'
400
454
  };
401
455
  }
402
- const raw = this.createEmailContent(params.Message);
403
- const result = await this.gmailClient.users.drafts.create({
456
+ const raw = this.createEmailContent(params.Message, creds);
457
+ const result = await cached.client.users.drafts.create({
404
458
  userId: 'me',
405
459
  requestBody: {
406
460
  message: { raw }
@@ -423,18 +477,485 @@ let GmailProvider = class GmailProvider extends communication_types_1.BaseCommun
423
477
  }
424
478
  }
425
479
  catch (error) {
480
+ const errorMessage = error instanceof Error ? error.message : 'Error creating draft';
426
481
  (0, core_1.LogError)('Error creating draft via Gmail', undefined, error);
427
482
  return {
428
483
  Success: false,
429
- ErrorMessage: error.message || 'Error creating draft'
484
+ ErrorMessage: errorMessage
485
+ };
486
+ }
487
+ }
488
+ getSupportedOperations() {
489
+ return [
490
+ 'SendSingleMessage',
491
+ 'GetMessages',
492
+ 'GetSingleMessage',
493
+ 'ForwardMessage',
494
+ 'ReplyToMessage',
495
+ 'CreateDraft',
496
+ 'DeleteMessage',
497
+ 'MoveMessage',
498
+ 'ListFolders',
499
+ 'MarkAsRead',
500
+ 'ArchiveMessage',
501
+ 'SearchMessages',
502
+ 'ListAttachments',
503
+ 'DownloadAttachment'
504
+ ];
505
+ }
506
+ async GetSingleMessage(params, credentials) {
507
+ try {
508
+ const creds = this.resolveCredentials(credentials);
509
+ const cached = this.getGmailClient(creds);
510
+ const response = await cached.client.users.messages.get({
511
+ userId: 'me',
512
+ id: params.MessageID,
513
+ format: 'full'
514
+ });
515
+ if (!response.data) {
516
+ return {
517
+ Success: false,
518
+ ErrorMessage: 'Message not found'
519
+ };
520
+ }
521
+ const message = this.parseGmailMessage(response.data);
522
+ return {
523
+ Success: true,
524
+ Message: message,
525
+ SourceData: response.data
430
526
  };
431
527
  }
528
+ catch (error) {
529
+ const errorMessage = error instanceof Error ? error.message : 'Error getting message';
530
+ (0, core_1.LogError)(`Error getting message ${params.MessageID} from Gmail`, undefined, error);
531
+ return {
532
+ Success: false,
533
+ ErrorMessage: errorMessage
534
+ };
535
+ }
536
+ }
537
+ async DeleteMessage(params, credentials) {
538
+ try {
539
+ const creds = this.resolveCredentials(credentials);
540
+ const cached = this.getGmailClient(creds);
541
+ if (params.PermanentDelete) {
542
+ await cached.client.users.messages.delete({
543
+ userId: 'me',
544
+ id: params.MessageID
545
+ });
546
+ }
547
+ else {
548
+ await cached.client.users.messages.trash({
549
+ userId: 'me',
550
+ id: params.MessageID
551
+ });
552
+ }
553
+ (0, core_1.LogStatus)(`Message ${params.MessageID} deleted from Gmail (permanent: ${params.PermanentDelete})`);
554
+ return {
555
+ Success: true
556
+ };
557
+ }
558
+ catch (error) {
559
+ const errorMessage = error instanceof Error ? error.message : 'Error deleting message';
560
+ (0, core_1.LogError)(`Error deleting message ${params.MessageID} from Gmail`, undefined, error);
561
+ return {
562
+ Success: false,
563
+ ErrorMessage: errorMessage
564
+ };
565
+ }
566
+ }
567
+ async MoveMessage(params, credentials) {
568
+ try {
569
+ const creds = this.resolveCredentials(credentials);
570
+ const cached = this.getGmailClient(creds);
571
+ const message = await cached.client.users.messages.get({
572
+ userId: 'me',
573
+ id: params.MessageID,
574
+ format: 'minimal'
575
+ });
576
+ const currentLabels = message.data.labelIds || [];
577
+ const labelsToRemove = currentLabels.filter(label => label === 'INBOX' ||
578
+ label === 'CATEGORY_PERSONAL' ||
579
+ label === 'CATEGORY_SOCIAL' ||
580
+ label === 'CATEGORY_PROMOTIONS' ||
581
+ label === 'CATEGORY_UPDATES' ||
582
+ label === 'CATEGORY_FORUMS');
583
+ await cached.client.users.messages.modify({
584
+ userId: 'me',
585
+ id: params.MessageID,
586
+ requestBody: {
587
+ addLabelIds: [params.DestinationFolderID],
588
+ removeLabelIds: labelsToRemove
589
+ }
590
+ });
591
+ (0, core_1.LogStatus)(`Message ${params.MessageID} moved to label ${params.DestinationFolderID}`);
592
+ return {
593
+ Success: true,
594
+ NewMessageID: params.MessageID
595
+ };
596
+ }
597
+ catch (error) {
598
+ const errorMessage = error instanceof Error ? error.message : 'Error moving message';
599
+ (0, core_1.LogError)(`Error moving message ${params.MessageID} in Gmail`, undefined, error);
600
+ return {
601
+ Success: false,
602
+ ErrorMessage: errorMessage
603
+ };
604
+ }
605
+ }
606
+ async ListFolders(params, credentials) {
607
+ try {
608
+ const creds = this.resolveCredentials(credentials);
609
+ const cached = this.getGmailClient(creds);
610
+ const response = await cached.client.users.labels.list({
611
+ userId: 'me'
612
+ });
613
+ if (!response.data.labels) {
614
+ return {
615
+ Success: true,
616
+ Folders: []
617
+ };
618
+ }
619
+ let labels = response.data.labels;
620
+ if (params.IncludeCounts) {
621
+ const detailedLabels = await Promise.all(labels.map(async (label) => {
622
+ if (!label.id)
623
+ return label;
624
+ try {
625
+ const detail = await cached.client.users.labels.get({
626
+ userId: 'me',
627
+ id: label.id
628
+ });
629
+ return detail.data;
630
+ }
631
+ catch {
632
+ return label;
633
+ }
634
+ }));
635
+ labels = detailedLabels;
636
+ }
637
+ const folders = labels.map(label => ({
638
+ ID: label.id || '',
639
+ Name: label.name || '',
640
+ MessageCount: label.messagesTotal || undefined,
641
+ UnreadCount: label.messagesUnread || undefined,
642
+ IsSystemFolder: label.type === 'system',
643
+ SystemFolderType: this.mapGmailLabelToSystemFolder(label.id || '')
644
+ }));
645
+ if (params.ParentFolderID) {
646
+ const parent = folders.find(f => f.ID === params.ParentFolderID);
647
+ if (parent) {
648
+ const parentPrefix = parent.Name + '/';
649
+ return {
650
+ Success: true,
651
+ Folders: folders.filter(f => f.Name.startsWith(parentPrefix)),
652
+ Result: labels
653
+ };
654
+ }
655
+ }
656
+ return {
657
+ Success: true,
658
+ Folders: folders,
659
+ Result: labels
660
+ };
661
+ }
662
+ catch (error) {
663
+ const errorMessage = error instanceof Error ? error.message : 'Error listing labels';
664
+ (0, core_1.LogError)('Error listing labels from Gmail', undefined, error);
665
+ return {
666
+ Success: false,
667
+ ErrorMessage: errorMessage
668
+ };
669
+ }
670
+ }
671
+ async MarkAsRead(params, credentials) {
672
+ try {
673
+ const creds = this.resolveCredentials(credentials);
674
+ const cached = this.getGmailClient(creds);
675
+ await Promise.all(params.MessageIDs.map(async (messageId) => {
676
+ await cached.client.users.messages.modify({
677
+ userId: 'me',
678
+ id: messageId,
679
+ requestBody: params.IsRead
680
+ ? { removeLabelIds: ['UNREAD'] }
681
+ : { addLabelIds: ['UNREAD'] }
682
+ });
683
+ }));
684
+ (0, core_1.LogStatus)(`Marked ${params.MessageIDs.length} message(s) as ${params.IsRead ? 'read' : 'unread'}`);
685
+ return {
686
+ Success: true
687
+ };
688
+ }
689
+ catch (error) {
690
+ const errorMessage = error instanceof Error ? error.message : 'Error marking messages';
691
+ (0, core_1.LogError)('Error marking messages as read/unread in Gmail', undefined, error);
692
+ return {
693
+ Success: false,
694
+ ErrorMessage: errorMessage
695
+ };
696
+ }
697
+ }
698
+ async ArchiveMessage(params, credentials) {
699
+ try {
700
+ const creds = this.resolveCredentials(credentials);
701
+ const cached = this.getGmailClient(creds);
702
+ await cached.client.users.messages.modify({
703
+ userId: 'me',
704
+ id: params.MessageID,
705
+ requestBody: {
706
+ removeLabelIds: ['INBOX']
707
+ }
708
+ });
709
+ (0, core_1.LogStatus)(`Message ${params.MessageID} archived in Gmail`);
710
+ return {
711
+ Success: true
712
+ };
713
+ }
714
+ catch (error) {
715
+ const errorMessage = error instanceof Error ? error.message : 'Error archiving message';
716
+ (0, core_1.LogError)(`Error archiving message ${params.MessageID} in Gmail`, undefined, error);
717
+ return {
718
+ Success: false,
719
+ ErrorMessage: errorMessage
720
+ };
721
+ }
722
+ }
723
+ async SearchMessages(params, credentials) {
724
+ try {
725
+ const creds = this.resolveCredentials(credentials);
726
+ const cached = this.getGmailClient(creds);
727
+ let query = params.Query;
728
+ if (params.FromDate) {
729
+ const fromDateStr = this.formatDateForGmail(params.FromDate);
730
+ query += ` after:${fromDateStr}`;
731
+ }
732
+ if (params.ToDate) {
733
+ const toDateStr = this.formatDateForGmail(params.ToDate);
734
+ query += ` before:${toDateStr}`;
735
+ }
736
+ if (params.FolderID) {
737
+ query += ` label:${params.FolderID}`;
738
+ }
739
+ const response = await cached.client.users.messages.list({
740
+ userId: 'me',
741
+ q: query,
742
+ maxResults: params.MaxResults || 50
743
+ });
744
+ if (!response.data.messages || response.data.messages.length === 0) {
745
+ return {
746
+ Success: true,
747
+ Messages: [],
748
+ TotalCount: 0
749
+ };
750
+ }
751
+ const fullMessages = await Promise.all(response.data.messages.map(async (msg) => {
752
+ const full = await cached.client.users.messages.get({
753
+ userId: 'me',
754
+ id: msg.id || '',
755
+ format: 'full'
756
+ });
757
+ return full.data;
758
+ }));
759
+ const messages = fullMessages.map(msg => this.parseGmailMessage(msg));
760
+ return {
761
+ Success: true,
762
+ Messages: messages,
763
+ TotalCount: response.data.resultSizeEstimate || messages.length,
764
+ SourceData: fullMessages
765
+ };
766
+ }
767
+ catch (error) {
768
+ const errorMessage = error instanceof Error ? error.message : 'Error searching messages';
769
+ (0, core_1.LogError)('Error searching messages in Gmail', undefined, error);
770
+ return {
771
+ Success: false,
772
+ ErrorMessage: errorMessage
773
+ };
774
+ }
775
+ }
776
+ async ListAttachments(params, credentials) {
777
+ try {
778
+ const creds = this.resolveCredentials(credentials);
779
+ const cached = this.getGmailClient(creds);
780
+ const response = await cached.client.users.messages.get({
781
+ userId: 'me',
782
+ id: params.MessageID,
783
+ format: 'full'
784
+ });
785
+ if (!response.data.payload) {
786
+ return {
787
+ Success: true,
788
+ Attachments: []
789
+ };
790
+ }
791
+ const attachments = [];
792
+ this.extractAttachments(response.data.payload, attachments);
793
+ return {
794
+ Success: true,
795
+ Attachments: attachments,
796
+ Result: response.data
797
+ };
798
+ }
799
+ catch (error) {
800
+ const errorMessage = error instanceof Error ? error.message : 'Error listing attachments';
801
+ (0, core_1.LogError)(`Error listing attachments for message ${params.MessageID}`, undefined, error);
802
+ return {
803
+ Success: false,
804
+ ErrorMessage: errorMessage
805
+ };
806
+ }
807
+ }
808
+ async DownloadAttachment(params, credentials) {
809
+ try {
810
+ const creds = this.resolveCredentials(credentials);
811
+ const cached = this.getGmailClient(creds);
812
+ const message = await cached.client.users.messages.get({
813
+ userId: 'me',
814
+ id: params.MessageID,
815
+ format: 'full'
816
+ });
817
+ let attachmentInfo = null;
818
+ if (message.data.payload) {
819
+ attachmentInfo = this.findAttachmentInfo(message.data.payload, params.AttachmentID);
820
+ }
821
+ const response = await cached.client.users.messages.attachments.get({
822
+ userId: 'me',
823
+ messageId: params.MessageID,
824
+ id: params.AttachmentID
825
+ });
826
+ if (!response.data.data) {
827
+ return {
828
+ Success: false,
829
+ ErrorMessage: 'Attachment content not found'
830
+ };
831
+ }
832
+ const base64Data = response.data.data.replace(/-/g, '+').replace(/_/g, '/');
833
+ const content = Buffer.from(base64Data, 'base64');
834
+ return {
835
+ Success: true,
836
+ Content: content,
837
+ ContentBase64: base64Data,
838
+ Filename: attachmentInfo?.filename || 'attachment',
839
+ ContentType: attachmentInfo?.contentType || 'application/octet-stream',
840
+ Result: response.data
841
+ };
842
+ }
843
+ catch (error) {
844
+ const errorMessage = error instanceof Error ? error.message : 'Error downloading attachment';
845
+ (0, core_1.LogError)(`Error downloading attachment ${params.AttachmentID}`, undefined, error);
846
+ return {
847
+ Success: false,
848
+ ErrorMessage: errorMessage
849
+ };
850
+ }
851
+ }
852
+ parseGmailMessage(message) {
853
+ const headers = message.payload?.headers || [];
854
+ const getHeader = (name) => {
855
+ const header = headers.find(h => h.name?.toLowerCase() === name.toLowerCase());
856
+ return header ? header.value : '';
857
+ };
858
+ const from = getHeader('from');
859
+ const to = getHeader('to');
860
+ const subject = getHeader('subject');
861
+ const replyTo = getHeader('reply-to') ? [getHeader('reply-to')] : [from];
862
+ const dateStr = getHeader('date');
863
+ let body = '';
864
+ if (message.payload?.body?.data) {
865
+ body = Buffer.from(message.payload.body.data, 'base64').toString('utf-8');
866
+ }
867
+ else if (message.payload?.parts) {
868
+ const textPart = message.payload.parts.find(part => part.mimeType === 'text/plain');
869
+ if (textPart && textPart.body?.data) {
870
+ body = Buffer.from(textPart.body.data, 'base64').toString('utf-8');
871
+ }
872
+ }
873
+ let receivedAt;
874
+ if (dateStr) {
875
+ try {
876
+ receivedAt = new Date(dateStr);
877
+ }
878
+ catch {
879
+ }
880
+ }
881
+ let createdAt;
882
+ if (message.internalDate) {
883
+ createdAt = new Date(parseInt(message.internalDate, 10));
884
+ }
885
+ return {
886
+ From: from || '',
887
+ To: to || '',
888
+ ReplyTo: replyTo.map(r => r || '').filter(r => r !== ''),
889
+ Subject: subject || '',
890
+ Body: body,
891
+ ExternalSystemRecordID: message.id || '',
892
+ ThreadID: message.threadId || '',
893
+ ReceivedAt: receivedAt,
894
+ CreatedAt: createdAt
895
+ };
896
+ }
897
+ mapGmailLabelToSystemFolder(labelId) {
898
+ const labelMap = {
899
+ 'INBOX': 'inbox',
900
+ 'SENT': 'sent',
901
+ 'DRAFT': 'drafts',
902
+ 'TRASH': 'trash',
903
+ 'SPAM': 'spam',
904
+ 'STARRED': 'other',
905
+ 'IMPORTANT': 'other',
906
+ 'UNREAD': 'other',
907
+ 'CATEGORY_PERSONAL': 'other',
908
+ 'CATEGORY_SOCIAL': 'other',
909
+ 'CATEGORY_PROMOTIONS': 'other',
910
+ 'CATEGORY_UPDATES': 'other',
911
+ 'CATEGORY_FORUMS': 'other'
912
+ };
913
+ return labelMap[labelId] || undefined;
914
+ }
915
+ formatDateForGmail(date) {
916
+ const year = date.getFullYear();
917
+ const month = (date.getMonth() + 1).toString().padStart(2, '0');
918
+ const day = date.getDate().toString().padStart(2, '0');
919
+ return `${year}/${month}/${day}`;
920
+ }
921
+ extractAttachments(part, attachments) {
922
+ if (part.filename && part.body?.attachmentId) {
923
+ attachments.push({
924
+ ID: part.body.attachmentId,
925
+ Filename: part.filename,
926
+ ContentType: part.mimeType || 'application/octet-stream',
927
+ Size: part.body.size || 0,
928
+ IsInline: part.headers?.some(h => h.name?.toLowerCase() === 'content-disposition' &&
929
+ h.value?.toLowerCase().includes('inline')) || false,
930
+ ContentID: part.headers?.find(h => h.name?.toLowerCase() === 'content-id')?.value?.replace(/[<>]/g, '') || undefined
931
+ });
932
+ }
933
+ if (part.parts) {
934
+ for (const nestedPart of part.parts) {
935
+ this.extractAttachments(nestedPart, attachments);
936
+ }
937
+ }
938
+ }
939
+ findAttachmentInfo(part, attachmentId) {
940
+ if (part.body?.attachmentId === attachmentId) {
941
+ return {
942
+ filename: part.filename || 'attachment',
943
+ contentType: part.mimeType || 'application/octet-stream'
944
+ };
945
+ }
946
+ if (part.parts) {
947
+ for (const nestedPart of part.parts) {
948
+ const result = this.findAttachmentInfo(nestedPart, attachmentId);
949
+ if (result)
950
+ return result;
951
+ }
952
+ }
953
+ return null;
432
954
  }
433
955
  };
434
956
  exports.GmailProvider = GmailProvider;
435
957
  exports.GmailProvider = GmailProvider = __decorate([
436
- (0, global_1.RegisterClass)(communication_types_1.BaseCommunicationProvider, 'Gmail'),
437
- __metadata("design:paramtypes", [])
958
+ (0, global_1.RegisterClass)(communication_types_1.BaseCommunicationProvider, 'Gmail')
438
959
  ], GmailProvider);
439
960
  function LoadProvider() {
440
961
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GmailProvider.js","sourceRoot":"","sources":["../src/GmailProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GmailProvider.js","sourceRoot":"","sources":["../src/GmailProvider.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -27,10 +27,10 @@ exports.GMAIL_SCOPES = exports.GMAIL_SERVICE_ACCOUNT_EMAIL = exports.GMAIL_REFRE
27
27
  const env = __importStar(require("env-var"));
28
28
  const dotenv = __importStar(require("dotenv"));
29
29
  dotenv.config();
30
- exports.GMAIL_CLIENT_ID = env.get('GMAIL_CLIENT_ID').required().asString();
31
- exports.GMAIL_CLIENT_SECRET = env.get('GMAIL_CLIENT_SECRET').required().asString();
32
- exports.GMAIL_REDIRECT_URI = env.get('GMAIL_REDIRECT_URI').required().asString();
33
- exports.GMAIL_REFRESH_TOKEN = env.get('GMAIL_REFRESH_TOKEN').required().asString();
30
+ exports.GMAIL_CLIENT_ID = env.get('GMAIL_CLIENT_ID').default('').asString();
31
+ exports.GMAIL_CLIENT_SECRET = env.get('GMAIL_CLIENT_SECRET').default('').asString();
32
+ exports.GMAIL_REDIRECT_URI = env.get('GMAIL_REDIRECT_URI').default('').asString();
33
+ exports.GMAIL_REFRESH_TOKEN = env.get('GMAIL_REFRESH_TOKEN').default('').asString();
34
34
  exports.GMAIL_SERVICE_ACCOUNT_EMAIL = env.get('GMAIL_SERVICE_ACCOUNT_EMAIL').default('').asString();
35
35
  exports.GMAIL_SCOPES = [
36
36
  'https://www.googleapis.com/auth/gmail.send',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+CAAiC;AAGjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAGH,QAAA,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AACnE,QAAA,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC3E,QAAA,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AACzE,QAAA,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAG3E,QAAA,2BAA2B,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAG5F,QAAA,YAAY,GAAG;IAC1B,4CAA4C;IAC5C,gDAAgD;IAChD,8CAA8C;IAC9C,+CAA+C;CAChD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+CAAiC;AAGjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAIH,QAAA,eAAe,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpE,QAAA,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5E,QAAA,kBAAkB,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC1E,QAAA,mBAAmB,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAG5E,QAAA,2BAA2B,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAG5F,QAAA,YAAY,GAAG;IAC1B,4CAA4C;IAC5C,gDAAgD;IAChD,8CAA8C;IAC9C,+CAA+C;CAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/communication-gmail",
3
- "version": "2.124.0",
3
+ "version": "2.125.0",
4
4
  "description": "Gmail/Google Suite provider for MemberJunction Communication framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -12,9 +12,9 @@
12
12
  "clean": "rimraf dist"
13
13
  },
14
14
  "dependencies": {
15
- "@memberjunction/communication-types": "2.124.0",
16
- "@memberjunction/core": "2.124.0",
17
- "@memberjunction/global": "2.124.0",
15
+ "@memberjunction/communication-types": "2.125.0",
16
+ "@memberjunction/core": "2.125.0",
17
+ "@memberjunction/global": "2.125.0",
18
18
  "dotenv": "^16.3.1",
19
19
  "env-var": "^7.4.1",
20
20
  "googleapis": "^130.0.0"