@adtrackify/at-service-common 3.18.16 → 3.18.18

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.
Files changed (48) hide show
  1. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +10 -0
  2. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js.map +1 -1
  3. package/dist/cjs/__tests__/helpers/acuity-helper.spec.js +4 -1
  4. package/dist/cjs/__tests__/helpers/acuity-helper.spec.js.map +1 -1
  5. package/dist/cjs/__tests__/libs/contacts.spec.js +7 -3
  6. package/dist/cjs/__tests__/libs/contacts.spec.js.map +1 -1
  7. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js +10 -5
  8. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js.map +1 -1
  9. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js +7 -2
  10. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js.map +1 -1
  11. package/dist/cjs/clients/generic/sqs-bundled-client.d.ts +1 -1
  12. package/dist/cjs/clients/generic/sqs-bundled-client.js +4 -4
  13. package/dist/cjs/clients/generic/sqs-bundled-client.js.map +1 -1
  14. package/dist/cjs/helpers/acuity-helper.js.map +1 -1
  15. package/dist/cjs/libs/contacts.js +53 -33
  16. package/dist/cjs/libs/contacts.js.map +1 -1
  17. package/dist/cjs/libs/emails.js +3 -0
  18. package/dist/cjs/libs/emails.js.map +1 -1
  19. package/dist/cjs/services/email-verification/contact-email-verification-service.js +54 -19
  20. package/dist/cjs/services/email-verification/contact-email-verification-service.js.map +1 -1
  21. package/dist/cjs/services/email-verification/email-verification-service.d.ts +4 -2
  22. package/dist/cjs/services/email-verification/email-verification-service.js +71 -32
  23. package/dist/cjs/services/email-verification/email-verification-service.js.map +1 -1
  24. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +10 -0
  25. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js.map +1 -1
  26. package/dist/esm/__tests__/helpers/acuity-helper.spec.js +5 -2
  27. package/dist/esm/__tests__/helpers/acuity-helper.spec.js.map +1 -1
  28. package/dist/esm/__tests__/libs/contacts.spec.js +8 -4
  29. package/dist/esm/__tests__/libs/contacts.spec.js.map +1 -1
  30. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js +11 -6
  31. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js.map +1 -1
  32. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js +7 -2
  33. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js.map +1 -1
  34. package/dist/esm/clients/generic/sqs-bundled-client.d.ts +1 -1
  35. package/dist/esm/clients/generic/sqs-bundled-client.js +4 -4
  36. package/dist/esm/clients/generic/sqs-bundled-client.js.map +1 -1
  37. package/dist/esm/helpers/acuity-helper.js +1 -1
  38. package/dist/esm/helpers/acuity-helper.js.map +1 -1
  39. package/dist/esm/libs/contacts.js +53 -33
  40. package/dist/esm/libs/contacts.js.map +1 -1
  41. package/dist/esm/libs/emails.js +3 -0
  42. package/dist/esm/libs/emails.js.map +1 -1
  43. package/dist/esm/services/email-verification/contact-email-verification-service.js +54 -19
  44. package/dist/esm/services/email-verification/contact-email-verification-service.js.map +1 -1
  45. package/dist/esm/services/email-verification/email-verification-service.d.ts +4 -2
  46. package/dist/esm/services/email-verification/email-verification-service.js +71 -32
  47. package/dist/esm/services/email-verification/email-verification-service.js.map +1 -1
  48. package/package.json +1 -1
@@ -33,12 +33,14 @@ const buildThirdPartyTraits = (contacts, sourceId, contactGroupId) => {
33
33
  exports.buildThirdPartyTraits = buildThirdPartyTraits;
34
34
  const normalizeThirdPartyContacts = (contacts) => {
35
35
  try {
36
- return contacts.map((contact) => ({
37
- ...contact,
38
- emailAddress: contact.emailAddress?.trim()?.toLowerCase(),
39
- firstName: contact?.firstName ? (0, strings_js_1.capitalizeEachWord)(contact.firstName.trim()) : undefined,
40
- lastName: contact?.lastName ? (0, strings_js_1.capitalizeEachWord)(contact.lastName.trim()) : undefined,
41
- }));
36
+ return contacts.map((contact) => {
37
+ return {
38
+ ...contact,
39
+ emailAddress: contact.emailAddress?.trim()?.toLowerCase(),
40
+ firstName: contact?.firstName ? (0, strings_js_1.capitalizeEachWord)(contact?.firstName?.trim()) : undefined,
41
+ lastName: contact?.lastName ? (0, strings_js_1.capitalizeEachWord)(contact?.lastName?.trim()) : undefined,
42
+ };
43
+ });
42
44
  }
43
45
  catch (error) {
44
46
  helpers_1.Logger.error('Failed to normalize third party contacts', { error });
@@ -47,7 +49,7 @@ const normalizeThirdPartyContacts = (contacts) => {
47
49
  };
48
50
  exports.normalizeThirdPartyContacts = normalizeThirdPartyContacts;
49
51
  const removeDuplicateContactsByEmail = (contacts, emailKey) => {
50
- return contacts.filter((contact, index, self) => index === self.findIndex((other) => other[emailKey] === contact[emailKey]));
52
+ return contacts.filter((contact, index, self) => index === self.findIndex((t) => t[emailKey] === contact[emailKey]));
51
53
  };
52
54
  exports.removeDuplicateContactsByEmail = removeDuplicateContactsByEmail;
53
55
  const removeInvalidContactsByEmail = (contacts, emailKey) => {
@@ -61,30 +63,43 @@ const removeDuplicateNonDottedGmailContacts = (contacts) => {
61
63
  }
62
64
  const uniqueContacts = [];
63
65
  for (const contact of contacts) {
64
- if (!contact.emailAddress || !contact.emailAddress.includes('@gmail.com')) {
66
+ if (!contact.emailAddress) {
65
67
  uniqueContacts.push(contact);
66
- continue;
67
68
  }
68
- const localPart = contact.emailAddress.split('@')[0] ?? '';
69
- const normalizedEmail = (0, emails_js_1.normalizeGmailAddress)(contact.emailAddress);
70
- const existingIndex = uniqueContacts.findIndex((existing) => existing.emailAddress &&
71
- (0, emails_js_1.normalizeGmailAddress)(existing.emailAddress) === normalizedEmail &&
72
- existing.emailAddress !== contact.emailAddress);
73
- if (existingIndex === -1) {
69
+ else if (!contact?.emailAddress?.includes('@gmail.com')) {
74
70
  uniqueContacts.push(contact);
75
- continue;
76
- }
77
- const existingContact = uniqueContacts[existingIndex];
78
- const existingIsDotted = existingContact.emailAddress?.split('@')[0]?.includes('.');
79
- if (localPart.includes('.') && !existingIsDotted) {
80
- helpers_1.Logger.info('Replacing non-dotted Gmail with dotted Gmail contact', { replacing: existingContact, with: contact });
81
- uniqueContacts.splice(existingIndex, 1, contact);
82
71
  }
83
72
  else {
84
- helpers_1.Logger.info('Duplicate Gmail contact found -- skipping', { contact, existingContact });
73
+ const parts = contact?.emailAddress?.split('@') ?? [];
74
+ const localPart = parts[0];
75
+ const normalizedEmail = (0, emails_js_1.normalizeGmailAddress)(contact.emailAddress);
76
+ const existingIndex = uniqueContacts.findIndex((x) => x.emailAddress &&
77
+ (0, emails_js_1.normalizeGmailAddress)(x.emailAddress) === normalizedEmail &&
78
+ x.emailAddress !== contact.emailAddress);
79
+ const isDotted = localPart.includes('.');
80
+ if (existingIndex !== -1) {
81
+ const existingContact = uniqueContacts[existingIndex];
82
+ const existingIsDotted = existingContact.emailAddress?.split('@')[0]?.includes('.');
83
+ if (isDotted && !existingIsDotted) {
84
+ helpers_1.Logger.info('contact acquisition - Replacing non-dotted Gmail with dotted Gmail contact', {
85
+ replacing: existingContact,
86
+ with: contact,
87
+ });
88
+ uniqueContacts.splice(existingIndex, 1, contact);
89
+ }
90
+ else {
91
+ helpers_1.Logger.info('contact acquisition - Duplicate Gmail contact found -- skipping', {
92
+ contact,
93
+ existingContact,
94
+ });
95
+ }
96
+ }
97
+ else {
98
+ uniqueContacts.push(contact);
99
+ }
85
100
  }
86
101
  }
87
- helpers_1.Logger.info('Removed non-dotted duplicate gmail contacts', {
102
+ helpers_1.Logger.info('contact acquisition - Removed non-dotted duplicate gmail contacts', {
88
103
  originalCount: contacts.length,
89
104
  uniqueCount: uniqueContacts.length,
90
105
  removedCount: contacts.length - uniqueContacts.length,
@@ -92,7 +107,7 @@ const removeDuplicateNonDottedGmailContacts = (contacts) => {
92
107
  return uniqueContacts;
93
108
  }
94
109
  catch (error) {
95
- helpers_1.Logger.error('Failed to remove non-dotted duplicate gmail contacts', { error });
110
+ helpers_1.Logger.error('contact acquisition - Failed to remove non-dotted duplicate gmail contacts', { error });
96
111
  return contacts;
97
112
  }
98
113
  };
@@ -102,7 +117,7 @@ const removeDuplicateDottedEmailVariationContacts = (contacts) => {
102
117
  if (!contacts || contacts.length === 0) {
103
118
  return contacts;
104
119
  }
105
- const seenNormalizedEmails = new Set();
120
+ const seenNormalizedEmails = new Map();
106
121
  const uniqueContacts = [];
107
122
  for (const contact of contacts) {
108
123
  if (!contact.emailAddress) {
@@ -110,14 +125,19 @@ const removeDuplicateDottedEmailVariationContacts = (contacts) => {
110
125
  continue;
111
126
  }
112
127
  const normalizedEmail = (0, emails_js_1.normalizeGmailAddress)(contact.emailAddress);
113
- if (seenNormalizedEmails.has(normalizedEmail)) {
114
- helpers_1.Logger.info('Duplicate dotted email gmail variation found -- skipping', { contact, normalizedEmail });
115
- continue;
128
+ contact.emailAddress = normalizedEmail;
129
+ if (!seenNormalizedEmails.has(normalizedEmail)) {
130
+ seenNormalizedEmails.set(normalizedEmail, contact);
131
+ uniqueContacts.push(contact);
132
+ }
133
+ else {
134
+ helpers_1.Logger.info('contact acquisition - Duplicate dotted email gmail variation found -- skipping', {
135
+ contact,
136
+ normalizedEmail,
137
+ });
116
138
  }
117
- seenNormalizedEmails.add(normalizedEmail);
118
- uniqueContacts.push({ ...contact, emailAddress: normalizedEmail });
119
139
  }
120
- helpers_1.Logger.info('Removed duplicate dotted email variations', {
140
+ helpers_1.Logger.info('contact acquisition - Removed duplicate dotted email variations', {
121
141
  originalCount: contacts.length,
122
142
  uniqueCount: uniqueContacts.length,
123
143
  removedCount: contacts.length - uniqueContacts.length,
@@ -125,7 +145,7 @@ const removeDuplicateDottedEmailVariationContacts = (contacts) => {
125
145
  return uniqueContacts;
126
146
  }
127
147
  catch (error) {
128
- helpers_1.Logger.error('Failed to remove duplicate dotted email variations', { error });
148
+ helpers_1.Logger.error('contact acquisition - Failed to remove duplicate dotted email variations', { error });
129
149
  return contacts;
130
150
  }
131
151
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/libs/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/libs/contacts.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,7 @@ exports.blacklistedEmailDomains = [
116
116
  'consolidated.net',
117
117
  'consolidated.com',
118
118
  'consolidated.org',
119
+ 'consolidated.org',
119
120
  'cicmed.org',
120
121
  'netzero.net',
121
122
  'netzero.com',
@@ -130,12 +131,14 @@ exports.blacklistedEmailDomains = [
130
131
  'mailinator.com',
131
132
  'yopmail.com',
132
133
  'maildrop.cc',
134
+ 'maildrop.cc',
133
135
  'mailnesia.com',
134
136
  'guerrillamail.com',
135
137
  'guerrillamailblock.com',
136
138
  'guerrillamail.org',
137
139
  'guerrillamail.net',
138
140
  'guerrillamail.biz',
141
+ 'guerrillamail.com',
139
142
  ];
140
143
  const isDisposableEmail = (email) => {
141
144
  return exports.disposableEmailDomains.some((domain) => email.includes(domain));
@@ -1 +1 @@
1
- {"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/libs/emails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emails.js","sourceRoot":"","sources":["../../../src/libs/emails.ts"],"names":[],"mappings":"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"}
@@ -13,52 +13,87 @@ class ContactEmailVerificationService {
13
13
  verifyContactEmail = async (contact, email, forceVerify = false) => {
14
14
  try {
15
15
  if (!(0, emails_js_1.validateEmail)(email)) {
16
- helpers_1.Logger.error('Contact email verification: invalid email', { contact, email });
16
+ helpers_1.Logger.error('contact acquisition - Email is invalid', { contact, email });
17
17
  return null;
18
18
  }
19
19
  if ((0, emails_js_1.isBlacklistedEmail)(email)) {
20
- helpers_1.Logger.error('Contact email verification: blacklisted email', { contact, email });
20
+ helpers_1.Logger.error('contact acquisition - Email is a blacklisted email', { contact, email });
21
21
  return null;
22
22
  }
23
23
  if ((0, emails_js_1.isDisposableEmail)(email)) {
24
- helpers_1.Logger.error('Contact email verification: disposable email', { contact, email });
24
+ helpers_1.Logger.error('contact acquisition - Email is a disposable email', { contact, email });
25
25
  return null;
26
26
  }
27
27
  if ((0, emails_js_1.isYahooEmail)(email) && !forceVerify) {
28
- helpers_1.Logger.info('Contact email verification: risky Yahoo email skipping Emailable', { contact, email });
29
- return { state: at_tracking_event_types_1.EMAIL_STATUS.RISKY, email, reason: 'Yahoo email - riskier than other emails' };
28
+ helpers_1.Logger.info('contact acquisition - Email is a yahoo email', { contact, email });
29
+ const emailVerification = {
30
+ state: at_tracking_event_types_1.EMAIL_STATUS.RISKY,
31
+ email: email,
32
+ reason: 'Yahoo email - riskier than other emails',
33
+ };
34
+ return emailVerification;
30
35
  }
31
- const response = await this.emailVerificationService.getEmailVerificationWithCaching(email);
32
- if (!response?.emailVerification) {
33
- helpers_1.Logger.error('Contact email verification: no response from verification service', { contact, email, response });
36
+ const emailVerificationResponse = await this.emailVerificationService.getEmailVerificationWithCaching(email);
37
+ if (!emailVerificationResponse || !emailVerificationResponse.emailVerification) {
38
+ helpers_1.Logger.error('contact acquisition - No response from email verification service', {
39
+ contact,
40
+ email,
41
+ emailVerificationResponse,
42
+ });
34
43
  return null;
35
44
  }
36
- helpers_1.Logger.info('Contact email verification: result', { contact, email, emailVerification: response.emailVerification });
37
- return response.emailVerification;
45
+ helpers_1.Logger.info('contact acquisition - Email verification response', { contact, email, emailVerificationResponse });
46
+ const emailVerification = emailVerificationResponse.emailVerification;
47
+ if (emailVerification.state === at_tracking_event_types_1.EMAIL_STATUS.DELIVERABLE) {
48
+ helpers_1.Logger.info('contact acquisition - Email verification is deliverable', { contact, email, emailVerification });
49
+ return emailVerification;
50
+ }
51
+ if (emailVerification.state === at_tracking_event_types_1.EMAIL_STATUS.RISKY) {
52
+ helpers_1.Logger.warn('contact acquisition - Email verification is risky', { contact, email, emailVerification });
53
+ return emailVerification;
54
+ }
55
+ if (emailVerification.state === at_tracking_event_types_1.EMAIL_STATUS.UNDELIVERABLE) {
56
+ helpers_1.Logger.warn('contact acquisition - Email verification is undeliverable', { contact, email, emailVerification });
57
+ return emailVerification;
58
+ }
59
+ if (emailVerification.state === at_tracking_event_types_1.EMAIL_STATUS.UNKNOWN) {
60
+ helpers_1.Logger.warn('contact acquisition - Email verification is unknown', { contact, email, emailVerification });
61
+ return emailVerification;
62
+ }
63
+ if (emailVerification.state === at_tracking_event_types_1.EMAIL_STATUS.NO_EMAIL) {
64
+ helpers_1.Logger.warn('contact acquisition - Email verification is no email', { contact, email, emailVerification });
65
+ return emailVerification;
66
+ }
67
+ helpers_1.Logger.info('contact acquisition - Email verification', { contact, email, emailVerification });
68
+ return emailVerification;
38
69
  }
39
70
  catch (error) {
40
- helpers_1.Logger.error('Contact email verification: failed to verify contact email', { error, email });
71
+ helpers_1.Logger.error('contact acquisition - Failed to verify contact email', { error });
41
72
  return null;
42
73
  }
43
74
  };
44
75
  verifyContactsEmail = async (contacts) => {
45
76
  try {
46
77
  const verifiedContacts = [];
47
- for (const contact of contacts) {
78
+ for (let i = 0; i < contacts.length; i++) {
79
+ const contact = contacts[i];
48
80
  const email = contact.emailAddress;
49
- if (!email) {
50
- helpers_1.Logger.warn('Contact email verification: no email on contact — skipping', { contact });
51
- continue;
81
+ if (email) {
82
+ const emailVerification = await this.verifyContactEmail(contact, email);
83
+ if (emailVerification) {
84
+ contact.emailVerification = emailVerification;
85
+ verifiedContacts.push(contact);
86
+ }
52
87
  }
53
- const emailVerification = await this.verifyContactEmail(contact, email);
54
- if (emailVerification) {
55
- verifiedContacts.push({ ...contact, emailVerification });
88
+ else {
89
+ helpers_1.Logger.warn('contact acquisition - No email found for contact -- skipping', { contact });
90
+ continue;
56
91
  }
57
92
  }
58
93
  return verifiedContacts;
59
94
  }
60
95
  catch (error) {
61
- helpers_1.Logger.error('Contact email verification: failed to verify contact emails', { error });
96
+ helpers_1.Logger.error('contact acquisition - Failed to verify contact emails', { error });
62
97
  return null;
63
98
  }
64
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"contact-email-verification-service.js","sourceRoot":"","sources":["../../../../src/services/email-verification/contact-email-verification-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contact-email-verification-service.js","sourceRoot":"","sources":["../../../../src/services/email-verification/contact-email-verification-service.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,9 @@ export declare class EmailVerificationService {
11
11
  private emailableClient;
12
12
  constructor(cacheLambdaFunctionArn: string, emailableApiKey: string);
13
13
  getEmailVerificationWithCaching: (email: string) => Promise<EmailVerificationCache | undefined>;
14
- getEmailVerificationFromCache: (email: string) => Promise<EmailVerificationCache | undefined>;
15
- setEmailVerificationCache: (email: string, emailVerificationCache: EmailVerificationCache) => Promise<void>;
14
+ getEmailVerificationFromCache(email: string): Promise<EmailVerificationCache | undefined>;
15
+ deleteEmailVerificationCache(email: string): Promise<void>;
16
+ setEmailVerificationCache(email: string, emailVerificationCache: EmailVerificationCache): Promise<void>;
17
+ private getEmailVerificationCache;
16
18
  private verifyEmail;
17
19
  }
@@ -15,29 +15,36 @@ class EmailVerificationService {
15
15
  }
16
16
  getEmailVerificationWithCaching = async (email) => {
17
17
  try {
18
+ let shouldUpdateCache = false;
18
19
  if (!email) {
19
- helpers_1.Logger.error('getEmailVerificationWithCaching - No email', { email });
20
+ helpers_1.Logger.error('getEmailVerificationWithCaching -No email', { email });
20
21
  return undefined;
21
22
  }
22
- const cached = await this.getEmailVerificationFromCache(email);
23
- if (cached?.emailVerification) {
24
- helpers_1.Logger.info('email verification cache hit', { email, cached });
25
- return cached;
23
+ let cacheResponse = await this.getEmailVerificationFromCache(email);
24
+ if (cacheResponse && cacheResponse?.emailVerification) {
25
+ helpers_1.Logger.info('email verification cache hit', { email, cacheResponse });
26
+ return cacheResponse;
26
27
  }
27
- helpers_1.Logger.info('email verification cache miss - fetching from emailable api', { email });
28
+ helpers_1.Logger.info('email verification cache miss - fetching from emailable api service', { email });
28
29
  const emailVerification = await this.verifyEmail(email);
29
- if (!emailVerification) {
30
- helpers_1.Logger.error('Failed to get email verification from emailable api', { email });
30
+ if (emailVerification) {
31
+ const emailVerificationCache = {
32
+ email,
33
+ emailVerification,
34
+ createdAt: (0, dates_js_1.getCurrentTimestamp)(),
35
+ updatedAt: (0, dates_js_1.getCurrentTimestamp)(),
36
+ expiresAt: Date.now() + EMAIL_VERIFICATION_CACHE_TTL_IN_SECONDS * 1000,
37
+ };
38
+ shouldUpdateCache = true;
39
+ cacheResponse = emailVerificationCache;
40
+ }
41
+ else {
42
+ helpers_1.Logger.error('Failed to getEmailVerification from emailable api service', { email, emailVerification });
31
43
  return undefined;
32
44
  }
33
- const cacheResponse = {
34
- email,
35
- emailVerification,
36
- createdAt: (0, dates_js_1.getCurrentTimestamp)(),
37
- updatedAt: (0, dates_js_1.getCurrentTimestamp)(),
38
- expiresAt: Date.now() + EMAIL_VERIFICATION_CACHE_TTL_IN_SECONDS * 1000,
39
- };
40
- await this.setEmailVerificationCache(email, cacheResponse);
45
+ if (cacheResponse && shouldUpdateCache) {
46
+ await this.setEmailVerificationCache(email, cacheResponse);
47
+ }
41
48
  return cacheResponse;
42
49
  }
43
50
  catch (error) {
@@ -45,46 +52,78 @@ class EmailVerificationService {
45
52
  return undefined;
46
53
  }
47
54
  };
48
- getEmailVerificationFromCache = async (email) => {
55
+ async getEmailVerificationFromCache(email) {
49
56
  try {
50
57
  if (!email) {
51
58
  return undefined;
52
59
  }
53
60
  const cacheKey = `emailVerification_${email}`;
54
- const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
55
- if (cacheResponse?.responseData) {
56
- return cacheResponse.responseData;
61
+ helpers_1.Logger.info(' try email verification cache lookup with email', { cacheKey, email });
62
+ const cachedEmailVerificationResponse = await this.getEmailVerificationCache(cacheKey);
63
+ if (!cachedEmailVerificationResponse) {
64
+ return undefined;
57
65
  }
58
- return undefined;
66
+ helpers_1.Logger.info(' found cached email verification', { email, cacheKey, cachedEmailVerificationResponse });
67
+ return cachedEmailVerificationResponse;
59
68
  }
60
- catch (error) {
61
- helpers_1.Logger.error('Error while getting email verification from cache', { error, email });
69
+ catch (err) {
70
+ helpers_1.Logger.error('Error while getting email verification from cache', { err, email });
62
71
  return undefined;
63
72
  }
64
- };
65
- setEmailVerificationCache = async (email, emailVerificationCache) => {
73
+ }
74
+ async deleteEmailVerificationCache(email) {
75
+ try {
76
+ if (!email) {
77
+ return;
78
+ }
79
+ const deleteCacheCommands = [];
80
+ deleteCacheCommands.push({
81
+ cacheKey: `emailVerification_${email}`,
82
+ commandType: 'delete',
83
+ });
84
+ await this.cacheLambdaClient.batchInvoke(deleteCacheCommands);
85
+ }
86
+ catch (err) {
87
+ helpers_1.Logger.error('Error while deleting email verification cache', { err, email });
88
+ }
89
+ }
90
+ async setEmailVerificationCache(email, emailVerificationCache) {
66
91
  try {
67
92
  if (!email || !emailVerificationCache) {
68
93
  return;
69
94
  }
70
95
  const cacheKey = `emailVerification_${email}`;
96
+ helpers_1.Logger.info('setEmailVerificationCache', { email, emailVerificationCache });
71
97
  await this.cacheLambdaClient.invokeSet(cacheKey, JSON.stringify(emailVerificationCache), EMAIL_VERIFICATION_CACHE_TTL_IN_SECONDS);
72
98
  }
73
99
  catch (error) {
74
- helpers_1.Logger.error('Error while updating email verification cache', { error, email, emailVerificationCache });
100
+ helpers_1.Logger.error('Error while updating email verification cache redis', { error, email, emailVerificationCache });
75
101
  }
102
+ }
103
+ getEmailVerificationCache = async (cacheKey) => {
104
+ const start = performance.now();
105
+ const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
106
+ const end = performance.now();
107
+ helpers_1.Logger.info('getEmailVerificationCache', { cacheKey, cacheResponse, duration: end - start });
108
+ if (cacheResponse && cacheResponse.responseData) {
109
+ return cacheResponse.responseData;
110
+ }
111
+ return undefined;
76
112
  };
77
113
  verifyEmail = async (email) => {
78
114
  try {
79
- const response = await this.emailableClient.verifyEmail(email);
80
- if (response.status === 200) {
81
- return response.data;
115
+ const emailVerificationResponse = await this.emailableClient.verifyEmail(email);
116
+ if (emailVerificationResponse.status === 200) {
117
+ const emailVerification = emailVerificationResponse?.data;
118
+ return emailVerification;
119
+ }
120
+ else {
121
+ helpers_1.Logger.error('EmailableApiService - returned failure status', { emailVerificationResponse });
122
+ return null;
82
123
  }
83
- helpers_1.Logger.error('Emailable verification returned a failure status', { email, status: response.status });
84
- return null;
85
124
  }
86
125
  catch (error) {
87
- helpers_1.Logger.error('Emailable verification failed', { error, email });
126
+ helpers_1.Logger.error('EmailableApiService - Failed to verify email', { error });
88
127
  return null;
89
128
  }
90
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"email-verification-service.js","sourceRoot":"","sources":["../../../../src/services/email-verification/email-verification-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-verification-service.js","sourceRoot":"","sources":["../../../../src/services/email-verification/email-verification-service.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,16 @@ describe('BundledSQSClient', () => {
45
45
  expect(result.messageCount).toBe(0);
46
46
  expect(mockSqsClient.buildAndSendMessagesV2).not.toHaveBeenCalled();
47
47
  });
48
+ it('passes delaySeconds through to the underlying send', async () => {
49
+ const items = [makeTestEvent('1'), makeTestEvent('2')];
50
+ await bundledClient.sendBundled('test-message', items, 480);
51
+ expect(mockSqsClient.buildAndSendMessagesV2).toHaveBeenCalledWith('test-message', expect.any(Array), 480);
52
+ });
53
+ it('defaults delaySeconds to 0 when omitted', async () => {
54
+ const items = [makeTestEvent('1')];
55
+ await bundledClient.sendBundled('test-message', items);
56
+ expect(mockSqsClient.buildAndSendMessagesV2).toHaveBeenCalledWith('test-message', expect.any(Array), 0);
57
+ });
48
58
  it('bundles and sends small items', async () => {
49
59
  const items = [makeTestEvent('1'), makeTestEvent('2'), makeTestEvent('3')];
50
60
  const result = await bundledClient.sendBundled('test-message', items);