dymo-api 1.2.16 → 1.2.17

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.
@@ -11,7 +11,7 @@ const basics_1 = require("../../../../utils/basics.cjs");
11
11
  *
12
12
  * Deny rules (some are premium ⚠️):
13
13
  * - "FRAUD", "INVALID", "NO_MX_RECORDS" ⚠️, "PROXIED_EMAIL" ⚠️, "FREE_SUBDOMAIN" ⚠️,
14
- * "PERSONAL_EMAIL", "CORPORATE_EMAIL", "NO_REPLY_EMAIL", "ROLE_ACCOUNT", "NO_REACHABLE", "HIGH_RISK_SCORE" ⚠️
14
+ * "PERSONAL_EMAIL", "CORPORATE_EMAIL", "NO_REPLY_EMAIL", "ROLE_ACCOUNT", "NO_REACHABLE", "NO_GRAVATAR" "HIGH_RISK_SCORE" ⚠️
15
15
  *
16
16
  * @returns {Promise<boolean>} True if the email passes all deny rules, false otherwise.
17
17
  * @throws Error if token is null, rules are empty, or request fails.
@@ -39,7 +39,8 @@ const isValidEmail = async (axiosClient, email, rules) => {
39
39
  plugins: [
40
40
  rules.deny.includes("NO_MX_RECORDS") ? "mxRecords" : undefined,
41
41
  rules.deny.includes("NO_REACHABLE") ? "reachability" : undefined,
42
- rules.deny.includes("HIGH_RISK_SCORE") ? "riskScore" : undefined
42
+ rules.deny.includes("HIGH_RISK_SCORE") ? "riskScore" : undefined,
43
+ rules.deny.includes("NO_GRAVATAR") ? "gravatar" : undefined
43
44
  ].filter(Boolean)
44
45
  }, { headers: { "Content-Type": "application/json" } })).data.email;
45
46
  let reasons = [];
@@ -71,6 +72,8 @@ const isValidEmail = async (axiosClient, email, rules) => {
71
72
  reasons.push("NO_REACHABLE");
72
73
  if (rules.deny.includes("HIGH_RISK_SCORE") && responseEmail.plugins.riskScore >= 80)
73
74
  reasons.push("HIGH_RISK_SCORE");
75
+ if (rules.deny.includes("NO_GRAVATAR") && !responseEmail.plugins.gravatar)
76
+ reasons.push("NO_GRAVATAR");
74
77
  return {
75
78
  email: responseEmail.email,
76
79
  allow: reasons.length === 0,
@@ -76,7 +76,7 @@ class DymoAPI {
76
76
  headers: {
77
77
  "User-Agent": "DymoAPISDK/1.0.0",
78
78
  "X-Dymo-SDK-Env": "Node",
79
- "X-Dymo-SDK-Version": "1.2.16"
79
+ "X-Dymo-SDK-Version": "1.2.17"
80
80
  }
81
81
  });
82
82
  // We set the authorization in the Axios client to make requests.
@@ -8,7 +8,7 @@ import { customError } from "../../../../utils/basics.js";
8
8
  *
9
9
  * Deny rules (some are premium ⚠️):
10
10
  * - "FRAUD", "INVALID", "NO_MX_RECORDS" ⚠️, "PROXIED_EMAIL" ⚠️, "FREE_SUBDOMAIN" ⚠️,
11
- * "PERSONAL_EMAIL", "CORPORATE_EMAIL", "NO_REPLY_EMAIL", "ROLE_ACCOUNT", "NO_REACHABLE", "HIGH_RISK_SCORE" ⚠️
11
+ * "PERSONAL_EMAIL", "CORPORATE_EMAIL", "NO_REPLY_EMAIL", "ROLE_ACCOUNT", "NO_REACHABLE", "NO_GRAVATAR" "HIGH_RISK_SCORE" ⚠️
12
12
  *
13
13
  * @returns {Promise<boolean>} True if the email passes all deny rules, false otherwise.
14
14
  * @throws Error if token is null, rules are empty, or request fails.
@@ -36,7 +36,8 @@ export const isValidEmail = async (axiosClient, email, rules) => {
36
36
  plugins: [
37
37
  rules.deny.includes("NO_MX_RECORDS") ? "mxRecords" : undefined,
38
38
  rules.deny.includes("NO_REACHABLE") ? "reachability" : undefined,
39
- rules.deny.includes("HIGH_RISK_SCORE") ? "riskScore" : undefined
39
+ rules.deny.includes("HIGH_RISK_SCORE") ? "riskScore" : undefined,
40
+ rules.deny.includes("NO_GRAVATAR") ? "gravatar" : undefined
40
41
  ].filter(Boolean)
41
42
  }, { headers: { "Content-Type": "application/json" } })).data.email;
42
43
  let reasons = [];
@@ -68,6 +69,8 @@ export const isValidEmail = async (axiosClient, email, rules) => {
68
69
  reasons.push("NO_REACHABLE");
69
70
  if (rules.deny.includes("HIGH_RISK_SCORE") && responseEmail.plugins.riskScore >= 80)
70
71
  reasons.push("HIGH_RISK_SCORE");
72
+ if (rules.deny.includes("NO_GRAVATAR") && !responseEmail.plugins.gravatar)
73
+ reasons.push("NO_GRAVATAR");
71
74
  return {
72
75
  email: responseEmail.email,
73
76
  allow: reasons.length === 0,
@@ -38,7 +38,7 @@ class DymoAPI {
38
38
  headers: {
39
39
  "User-Agent": "DymoAPISDK/1.0.0",
40
40
  "X-Dymo-SDK-Env": "Node",
41
- "X-Dymo-SDK-Version": "1.2.16"
41
+ "X-Dymo-SDK-Version": "1.2.17"
42
42
  }
43
43
  });
44
44
  // We set the authorization in the Axios client to make requests.
@@ -9,7 +9,7 @@ import * as Interfaces from "../../../../lib/types/interfaces";
9
9
  *
10
10
  * Deny rules (some are premium ⚠️):
11
11
  * - "FRAUD", "INVALID", "NO_MX_RECORDS" ⚠️, "PROXIED_EMAIL" ⚠️, "FREE_SUBDOMAIN" ⚠️,
12
- * "PERSONAL_EMAIL", "CORPORATE_EMAIL", "NO_REPLY_EMAIL", "ROLE_ACCOUNT", "NO_REACHABLE", "HIGH_RISK_SCORE" ⚠️
12
+ * "PERSONAL_EMAIL", "CORPORATE_EMAIL", "NO_REPLY_EMAIL", "ROLE_ACCOUNT", "NO_REACHABLE", "NO_GRAVATAR" "HIGH_RISK_SCORE" ⚠️
13
13
  *
14
14
  * @returns {Promise<boolean>} True if the email passes all deny rules, false otherwise.
15
15
  * @throws Error if token is null, rules are empty, or request fails.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dymo-api",
3
- "version": "1.2.16",
3
+ "version": "1.2.17",
4
4
  "description": "Flow system for Dymo API.",
5
5
  "main": "dist/cjs/dymo-api.js",
6
6
  "module": "dist/esm/dymo-api.js",