change email validation to regex only
This commit is contained in:
parent
753cfdd5da
commit
0ea780dd51
4 changed files with 37 additions and 52 deletions
56
package-lock.json
generated
56
package-lock.json
generated
|
@ -12,7 +12,6 @@
|
|||
"cors": "^2.8.5",
|
||||
"crypto": "^1.0.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"email-check": "^1.1.0",
|
||||
"express": "^5.1.0",
|
||||
"express-rate-limit": "^7.5.0",
|
||||
"express-validator": "^7.2.1",
|
||||
|
@ -42,11 +41,11 @@
|
|||
"speakeasy": "^2.0.0",
|
||||
"sqlite3": "^5.1.7",
|
||||
"typeorm": "^0.3.20",
|
||||
"uuid": "^11.1.0"
|
||||
"uuid": "^11.1.0",
|
||||
"validator": "^13.15.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/cors": "^2.8.14",
|
||||
"@types/email-check": "^1.1.3",
|
||||
"@types/express": "^5.0.1",
|
||||
"@types/ip": "^1.1.3",
|
||||
"@types/jsonwebtoken": "^9.0.6",
|
||||
|
@ -63,6 +62,7 @@
|
|||
"@types/qrcode": "~1.5.5",
|
||||
"@types/speakeasy": "^2.0.10",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@types/validator": "^13.15.0",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "^5.8.3"
|
||||
}
|
||||
|
@ -808,13 +808,6 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/email-check": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/email-check/-/email-check-1.1.3.tgz",
|
||||
"integrity": "sha512-XgU2uxm8JjfK9e/CJg389b96XeLxJbUSCfe4hZxxwTu3XYT7A70punAWfpdppFHWPDl/qNtHC9vl3TmRHom+8w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/express": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.1.tgz",
|
||||
|
@ -1106,6 +1099,13 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/validator": {
|
||||
"version": "13.15.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.0.tgz",
|
||||
"integrity": "sha512-nh7nrWhLr6CBq9ldtw0wx+z9wKnnv/uTVLA9g/3/TcOYxbpOSZE+MhKPmWqU+K0NvThjhv12uD8MuqijB0WzEA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/yauzl": {
|
||||
"version": "2.10.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
|
||||
|
@ -2176,18 +2176,6 @@
|
|||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/email-check": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/email-check/-/email-check-1.1.0.tgz",
|
||||
"integrity": "sha512-VoqdsHtP/Ct+Dsl9nJRlvVXhcHicWjmmp2KvLbyg+WovdUXihe8EbDKC5u+3SlBQIlh8RK1qFD5A4RCgTrW9Wg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"js-promisify": "1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
|
@ -2551,6 +2539,15 @@
|
|||
"node": ">= 8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/express-validator/node_modules/validator": {
|
||||
"version": "13.12.0",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz",
|
||||
"integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/extract-zip": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
|
||||
|
@ -3164,15 +3161,6 @@
|
|||
"@pkgjs/parseargs": "^0.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/js-promisify": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js-promisify/-/js-promisify-1.0.1.tgz",
|
||||
"integrity": "sha512-/IBrGxYbrmRWA+rLtHVSiX7R92NuVqc84aSWXReEjwcj7NchYf+Wy/ShAapCmMM5ev0mvD2IhWmZIDk/7f/utQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
|
@ -6032,9 +6020,9 @@
|
|||
"license": "MIT"
|
||||
},
|
||||
"node_modules/validator": {
|
||||
"version": "13.12.0",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz",
|
||||
"integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==",
|
||||
"version": "13.15.0",
|
||||
"resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz",
|
||||
"integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
"cors": "^2.8.5",
|
||||
"crypto": "^1.0.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"email-check": "^1.1.0",
|
||||
"express": "^5.1.0",
|
||||
"express-rate-limit": "^7.5.0",
|
||||
"express-validator": "^7.2.1",
|
||||
|
@ -58,11 +57,11 @@
|
|||
"speakeasy": "^2.0.0",
|
||||
"sqlite3": "^5.1.7",
|
||||
"typeorm": "^0.3.20",
|
||||
"uuid": "^11.1.0"
|
||||
"uuid": "^11.1.0",
|
||||
"validator": "^13.15.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/cors": "^2.8.14",
|
||||
"@types/email-check": "^1.1.3",
|
||||
"@types/express": "^5.0.1",
|
||||
"@types/ip": "^1.1.3",
|
||||
"@types/jsonwebtoken": "^9.0.6",
|
||||
|
@ -79,6 +78,7 @@
|
|||
"@types/qrcode": "~1.5.5",
|
||||
"@types/speakeasy": "^2.0.10",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@types/validator": "^13.15.0",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "^5.8.3"
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Transporter, createTransport, TransportOptions } from "nodemailer";
|
||||
import { Attachment } from "nodemailer/lib/mailer";
|
||||
import SettingHelper from "./settingsHelper";
|
||||
import emailCheck from "email-check";
|
||||
import validator from "validator";
|
||||
|
||||
export default abstract class MailHelper {
|
||||
private static transporter: Transporter;
|
||||
|
@ -45,7 +45,8 @@ export default abstract class MailHelper {
|
|||
.then(() => {
|
||||
return true;
|
||||
})
|
||||
.catch(() => {
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
return false;
|
||||
})
|
||||
.finally(() => {
|
||||
|
@ -56,13 +57,14 @@ export default abstract class MailHelper {
|
|||
}
|
||||
|
||||
static async checkMail(mail: string): Promise<boolean> {
|
||||
return await emailCheck(mail)
|
||||
.then((res) => {
|
||||
return res;
|
||||
})
|
||||
.catch((err) => {
|
||||
return false;
|
||||
});
|
||||
return validator.isEmail(mail);
|
||||
// return await emailCheck(mail)
|
||||
// .then((res) => {
|
||||
// return res;
|
||||
// })
|
||||
// .catch((err) => {
|
||||
// return false;
|
||||
// });
|
||||
}
|
||||
|
||||
static initialize() {
|
||||
|
|
|
@ -56,17 +56,12 @@ export default abstract class SettingHelper {
|
|||
return rawValue as unknown as SettingValueMapping[K];
|
||||
}
|
||||
|
||||
let processedValue = rawValue;
|
||||
if (typeof settingType.type === "string" && settingType.type.includes("/crypt")) {
|
||||
processedValue = CodingHelper.decrypt(APPLICATION_SECRET, processedValue);
|
||||
}
|
||||
|
||||
const baseType =
|
||||
typeof settingType.type === "string"
|
||||
? (settingType.type.split("/")[0] as SettingTypeAtom)
|
||||
: (settingType.type as SettingTypeAtom);
|
||||
|
||||
return this.converters[baseType].fromString(processedValue) as unknown as SettingValueMapping[K];
|
||||
return this.converters[baseType].fromString(rawValue) as unknown as SettingValueMapping[K];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue