@auxcode/auxta 1.3.23-beta.4 → 1.3.23-beta.6

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.
@@ -25,7 +25,7 @@ declare class AuxTA extends FunctionHelper {
25
25
  password: string;
26
26
  };
27
27
  };
28
- emailHelper: import("./macros/helpers/emailHelper").EmailHelper;
28
+ email: import("./macros/helpers/emailHelper").EmailHelper;
29
29
  private readonly uploadModel;
30
30
  constructor();
31
31
  run(event: any, overrideConfig?: any): Promise<{
@@ -57,7 +57,7 @@ class AuxTA extends code_helper_1.FunctionHelper {
57
57
  this.aux2fa = Aux2faAuth_1.default;
58
58
  this.google = AuxGoogleAuth_1.AuxGoogleAuth;
59
59
  this.config = config_1.config;
60
- this.emailHelper = emailHelper_1.default;
60
+ this.email = emailHelper_1.default;
61
61
  let file;
62
62
  if (!process.env.RPA) {
63
63
  try {
@@ -11,3 +11,7 @@ export declare class AuxGoogleAuth {
11
11
  }
12
12
  declare const _default: AuxGoogleAuth;
13
13
  export default _default;
14
+ export interface currentUser {
15
+ name: string;
16
+ email: string;
17
+ }
@@ -89,7 +89,7 @@ class FunctionHelper extends extend_default_page_1.ExtendDefaultPage {
89
89
  }
90
90
  timeout(timeout = this.defaultTimeout, page = puppeteer_1.default.defaultPage) {
91
91
  return __awaiter(this, void 0, void 0, function* () {
92
- new Promise(r => setTimeout(r, timeout));
92
+ yield new Promise(r => setTimeout(r, timeout));
93
93
  });
94
94
  }
95
95
  waitForSelector(option, selector, time = this.defaultTimeout, page = puppeteer_1.default.defaultPage, log_message = true) {
@@ -1,15 +1,13 @@
1
1
  import { gmail_v1 } from "googleapis";
2
2
  export declare class EmailHelper {
3
- verifyEmail(from_name: string, from_email: string, subject: string, body: string): Promise<{
4
- id: string;
5
- threadId: string;
6
- } | undefined>;
3
+ verifyEmail(from_name: string, from_email: string, subject: string, body: string): Promise<{}>;
7
4
  replyEmail(ids: {
8
5
  id: string;
9
6
  threadId: string;
10
7
  }, body: string): Promise<void>;
11
8
  private getHeader;
12
9
  private getBody;
10
+ private getCurrentUserEmail;
13
11
  }
14
12
  export interface gmailResponse extends gmail_v1.Gmail {
15
13
  }
@@ -40,12 +40,16 @@ class EmailHelper {
40
40
  format: 'FULL'
41
41
  });
42
42
  if (gmailResponse.data.payload && gmailResponse.data.id && gmailResponse.data.threadId) {
43
- const message_sender = this.getHeader('from', gmailResponse.data.payload.headers);
44
- const message_subject = this.getHeader('subject', gmailResponse.data.payload.headers);
45
- const message_body = this.getBody(from_name, from_email, subject, gmailResponse);
43
+ const message_sender = this.getHeader('from', gmailResponse);
44
+ const message_subject = this.getHeader('subject', gmailResponse);
45
+ const message_body = this.getBody(subject, gmailResponse);
46
46
  if (message_sender.includes(from_email) && message_sender.includes(from_name.toLocaleLowerCase()) &&
47
47
  message_subject.includes(subject.toLocaleLowerCase()) && message_body.includes(body.toLocaleLowerCase())) {
48
48
  log_service_1.default.push('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, AuxTA_1.StepStatus.PASSED);
49
+ const returnData = {
50
+ id: gmailResponse.data.id.toString(),
51
+ threadId: gmailResponse.data.threadId.toString()
52
+ };
49
53
  yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.modify({
50
54
  userId: "me",
51
55
  id: gmailResponse.data.id,
@@ -54,68 +58,77 @@ class EmailHelper {
54
58
  'removeLabelIds': ['UNREAD']
55
59
  }
56
60
  });
57
- return { id: gmailResponse.data.id.toString(), threadId: gmailResponse.data.threadId.toString() };
61
+ return returnData;
58
62
  }
59
63
  }
60
64
  break;
61
65
  }
62
66
  }
63
- new Promise(r => setTimeout(r, 12000));
67
+ yield new Promise(r => setTimeout(r, timeoutCount));
64
68
  timeoutCount += 12000;
65
69
  }
66
70
  yield log_service_1.default.push('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, AuxTA_1.StepStatus.FAILED);
71
+ return {};
67
72
  });
68
73
  }
69
74
  replyEmail(ids, body) {
70
75
  return __awaiter(this, void 0, void 0, function* () {
71
76
  yield AuxGoogleAuth_1.AuxGoogleAuth.setup();
72
- const gmailResponse = yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.get({
73
- userId: "me",
74
- id: ids.id,
75
- format: 'FULL'
76
- });
77
- if (gmailResponse.data.payload) {
78
- const from = this.getHeader('from', gmailResponse.data.payload.headers);
79
- const message_subject = this.getHeader('subject', gmailResponse.data.payload.headers);
80
- const message_messageID = this.getHeader('Message-ID', gmailResponse.data.payload.headers);
81
- const to = this.getHeader('to', gmailResponse.data.payload.headers);
82
- const options = {
83
- "to": from,
84
- "from": to,
85
- "subject": `Re: ${message_subject}`,
86
- "References": message_messageID,
87
- "In-Reply-To": message_messageID,
88
- "threadId": ids.threadId,
89
- "html": body
90
- };
91
- const mailComposer = new MailComposer(options);
92
- const message = yield mailComposer.compile().build();
93
- const encodeMessage = Buffer.from(message).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
94
- yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.send({
77
+ if (ids.id) {
78
+ const gmailResponse = yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.get({
95
79
  userId: "me",
96
- requestBody: {
97
- raw: encodeMessage
98
- }
80
+ id: ids.id,
81
+ format: 'FULL'
99
82
  });
83
+ if (gmailResponse.data.payload) {
84
+ const message_subject = this.getHeader('subject', gmailResponse);
85
+ const message_messageID = this.getHeader('Message-ID', gmailResponse);
86
+ const reply_to = this.getHeader('reply-to', gmailResponse);
87
+ const options = {
88
+ to: reply_to,
89
+ from: this.getCurrentUserEmail(),
90
+ subject: `Re: ${message_subject}`,
91
+ references: message_messageID,
92
+ inReplyTo: [message_messageID],
93
+ html: body
94
+ };
95
+ const mailComposer = new MailComposer(options);
96
+ const message = yield mailComposer.compile().build();
97
+ const encodeMessage = Buffer.from(message).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
98
+ yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.messages.send({
99
+ userId: "me",
100
+ requestBody: {
101
+ threadId: ids.threadId,
102
+ raw: encodeMessage
103
+ }
104
+ });
105
+ }
100
106
  }
101
107
  });
102
108
  }
103
109
  getHeader(value, headers) {
104
- for (const header of headers) {
110
+ for (const header of headers.data.payload.headers) {
105
111
  if (header.name.toLocaleLowerCase() === value.toLocaleLowerCase()) {
106
112
  return header.value.toLocaleLowerCase();
107
113
  }
108
114
  }
109
115
  }
110
- getBody(from_name, from_email, subject, gmailResponse) {
116
+ getBody(subject, gmailResponse) {
111
117
  const body = gmailResponse.data.payload.parts[0].body.data;
112
118
  if (body) {
113
119
  return (0, buffer_1.atob)(body).toLocaleLowerCase();
114
120
  }
115
121
  else {
116
- throw new Error(`Email from: ${from_name} ${from_email} with subject: ${subject} body is empty`);
122
+ throw new Error(`Email with subject: ${subject} body is empty`);
117
123
  }
118
124
  }
125
+ getCurrentUserEmail() {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ yield AuxGoogleAuth_1.AuxGoogleAuth.setup();
128
+ const profile = yield AuxGoogleAuth_1.AuxGoogleAuth.gmailClient.users.getProfile({ userId: "me" });
129
+ return profile.data.emailAddress;
130
+ });
131
+ }
119
132
  }
120
133
  exports.EmailHelper = EmailHelper;
121
134
  exports.default = new EmailHelper();
@@ -25,7 +25,7 @@ declare class AuxTA extends FunctionHelper {
25
25
  password: string;
26
26
  };
27
27
  };
28
- emailHelper: import("./macros/helpers/emailHelper").EmailHelper;
28
+ email: import("./macros/helpers/emailHelper").EmailHelper;
29
29
  private readonly uploadModel;
30
30
  constructor();
31
31
  run(event: any, overrideConfig?: any): Promise<{
@@ -28,7 +28,7 @@ class AuxTA extends FunctionHelper {
28
28
  this.aux2fa = Aux2faAuth;
29
29
  this.google = AuxGoogleAuth;
30
30
  this.config = c;
31
- this.emailHelper = emailHelper;
31
+ this.email = emailHelper;
32
32
  let file;
33
33
  if (!process.env.RPA) {
34
34
  try {
@@ -11,3 +11,7 @@ export declare class AuxGoogleAuth {
11
11
  }
12
12
  declare const _default: AuxGoogleAuth;
13
13
  export default _default;
14
+ export interface currentUser {
15
+ name: string;
16
+ email: string;
17
+ }
@@ -83,7 +83,7 @@ export class FunctionHelper extends ExtendDefaultPage {
83
83
  }
84
84
  timeout(timeout = this.defaultTimeout, page = puppeteer.defaultPage) {
85
85
  return __awaiter(this, void 0, void 0, function* () {
86
- new Promise(r => setTimeout(r, timeout));
86
+ yield new Promise(r => setTimeout(r, timeout));
87
87
  });
88
88
  }
89
89
  waitForSelector(option, selector, time = this.defaultTimeout, page = puppeteer.defaultPage, log_message = true) {
@@ -1,15 +1,13 @@
1
1
  import { gmail_v1 } from "googleapis";
2
2
  export declare class EmailHelper {
3
- verifyEmail(from_name: string, from_email: string, subject: string, body: string): Promise<{
4
- id: string;
5
- threadId: string;
6
- } | undefined>;
3
+ verifyEmail(from_name: string, from_email: string, subject: string, body: string): Promise<{}>;
7
4
  replyEmail(ids: {
8
5
  id: string;
9
6
  threadId: string;
10
7
  }, body: string): Promise<void>;
11
8
  private getHeader;
12
9
  private getBody;
10
+ private getCurrentUserEmail;
13
11
  }
14
12
  export interface gmailResponse extends gmail_v1.Gmail {
15
13
  }
@@ -34,12 +34,16 @@ export class EmailHelper {
34
34
  format: 'FULL'
35
35
  });
36
36
  if (gmailResponse.data.payload && gmailResponse.data.id && gmailResponse.data.threadId) {
37
- const message_sender = this.getHeader('from', gmailResponse.data.payload.headers);
38
- const message_subject = this.getHeader('subject', gmailResponse.data.payload.headers);
39
- const message_body = this.getBody(from_name, from_email, subject, gmailResponse);
37
+ const message_sender = this.getHeader('from', gmailResponse);
38
+ const message_subject = this.getHeader('subject', gmailResponse);
39
+ const message_body = this.getBody(subject, gmailResponse);
40
40
  if (message_sender.includes(from_email) && message_sender.includes(from_name.toLocaleLowerCase()) &&
41
41
  message_subject.includes(subject.toLocaleLowerCase()) && message_body.includes(body.toLocaleLowerCase())) {
42
42
  log.push('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, StepStatus.PASSED);
43
+ const returnData = {
44
+ id: gmailResponse.data.id.toString(),
45
+ threadId: gmailResponse.data.threadId.toString()
46
+ };
43
47
  yield AuxGoogleAuth.gmailClient.users.messages.modify({
44
48
  userId: "me",
45
49
  id: gmailResponse.data.id,
@@ -48,67 +52,76 @@ export class EmailHelper {
48
52
  'removeLabelIds': ['UNREAD']
49
53
  }
50
54
  });
51
- return { id: gmailResponse.data.id.toString(), threadId: gmailResponse.data.threadId.toString() };
55
+ return returnData;
52
56
  }
53
57
  }
54
58
  break;
55
59
  }
56
60
  }
57
- new Promise(r => setTimeout(r, 12000));
61
+ yield new Promise(r => setTimeout(r, timeoutCount));
58
62
  timeoutCount += 12000;
59
63
  }
60
64
  yield log.push('Then', `Email from: ${from_name} ${from_email} with subject: ${subject} and body: ${body} is found`, StepStatus.FAILED);
65
+ return {};
61
66
  });
62
67
  }
63
68
  replyEmail(ids, body) {
64
69
  return __awaiter(this, void 0, void 0, function* () {
65
70
  yield AuxGoogleAuth.setup();
66
- const gmailResponse = yield AuxGoogleAuth.gmailClient.users.messages.get({
67
- userId: "me",
68
- id: ids.id,
69
- format: 'FULL'
70
- });
71
- if (gmailResponse.data.payload) {
72
- const from = this.getHeader('from', gmailResponse.data.payload.headers);
73
- const message_subject = this.getHeader('subject', gmailResponse.data.payload.headers);
74
- const message_messageID = this.getHeader('Message-ID', gmailResponse.data.payload.headers);
75
- const to = this.getHeader('to', gmailResponse.data.payload.headers);
76
- const options = {
77
- "to": from,
78
- "from": to,
79
- "subject": `Re: ${message_subject}`,
80
- "References": message_messageID,
81
- "In-Reply-To": message_messageID,
82
- "threadId": ids.threadId,
83
- "html": body
84
- };
85
- const mailComposer = new MailComposer(options);
86
- const message = yield mailComposer.compile().build();
87
- const encodeMessage = Buffer.from(message).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
88
- yield AuxGoogleAuth.gmailClient.users.messages.send({
71
+ if (ids.id) {
72
+ const gmailResponse = yield AuxGoogleAuth.gmailClient.users.messages.get({
89
73
  userId: "me",
90
- requestBody: {
91
- raw: encodeMessage
92
- }
74
+ id: ids.id,
75
+ format: 'FULL'
93
76
  });
77
+ if (gmailResponse.data.payload) {
78
+ const message_subject = this.getHeader('subject', gmailResponse);
79
+ const message_messageID = this.getHeader('Message-ID', gmailResponse);
80
+ const reply_to = this.getHeader('reply-to', gmailResponse);
81
+ const options = {
82
+ to: reply_to,
83
+ from: this.getCurrentUserEmail(),
84
+ subject: `Re: ${message_subject}`,
85
+ references: message_messageID,
86
+ inReplyTo: [message_messageID],
87
+ html: body
88
+ };
89
+ const mailComposer = new MailComposer(options);
90
+ const message = yield mailComposer.compile().build();
91
+ const encodeMessage = Buffer.from(message).toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
92
+ yield AuxGoogleAuth.gmailClient.users.messages.send({
93
+ userId: "me",
94
+ requestBody: {
95
+ threadId: ids.threadId,
96
+ raw: encodeMessage
97
+ }
98
+ });
99
+ }
94
100
  }
95
101
  });
96
102
  }
97
103
  getHeader(value, headers) {
98
- for (const header of headers) {
104
+ for (const header of headers.data.payload.headers) {
99
105
  if (header.name.toLocaleLowerCase() === value.toLocaleLowerCase()) {
100
106
  return header.value.toLocaleLowerCase();
101
107
  }
102
108
  }
103
109
  }
104
- getBody(from_name, from_email, subject, gmailResponse) {
110
+ getBody(subject, gmailResponse) {
105
111
  const body = gmailResponse.data.payload.parts[0].body.data;
106
112
  if (body) {
107
113
  return atob(body).toLocaleLowerCase();
108
114
  }
109
115
  else {
110
- throw new Error(`Email from: ${from_name} ${from_email} with subject: ${subject} body is empty`);
116
+ throw new Error(`Email with subject: ${subject} body is empty`);
111
117
  }
112
118
  }
119
+ getCurrentUserEmail() {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ yield AuxGoogleAuth.setup();
122
+ const profile = yield AuxGoogleAuth.gmailClient.users.getProfile({ userId: "me" });
123
+ return profile.data.emailAddress;
124
+ });
125
+ }
113
126
  }
114
127
  export default new EmailHelper();