Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import { validate as validateEmail } from "deep-email-validator";
|
||||
import { UserProfiles } from "../models/index.js";
|
||||
import { fetchMeta } from "../misc/fetch-meta.js";
|
||||
export async function validateEmailForAccount(emailAddress) {
|
||||
const meta = await fetchMeta();
|
||||
const exist = await UserProfiles.countBy({
|
||||
emailVerified: true,
|
||||
email: emailAddress
|
||||
});
|
||||
const validated = meta.enableActiveEmailValidation ? await validateEmail({
|
||||
email: emailAddress,
|
||||
validateRegex: true,
|
||||
validateMx: true,
|
||||
validateTypo: false,
|
||||
validateDisposable: true,
|
||||
validateSMTP: false
|
||||
}) : {
|
||||
valid: true
|
||||
};
|
||||
const available = exist === 0 && validated.valid;
|
||||
return {
|
||||
available,
|
||||
reason: available ? null : exist !== 0 ? "used" : validated.reason === "regex" ? "format" : validated.reason === "disposable" ? "disposable" : validated.reason === "mx" ? "mx" : validated.reason === "smtp" ? "smtp" : null
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user