summary refs log tree commit diff
path: root/util/src/entities/User.ts
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-09-20 16:25:59 +1000
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-09-20 16:25:59 +1000
commitb132f2d38466549c421dd44be891ef56b2669d72 (patch)
tree6aa2e3f178c6fc16be912ac00f7bd197113bc496 /util/src/entities/User.ts
parentSmall fix for tag digit and undefined email (diff)
downloadserver-b132f2d38466549c421dd44be891ef56b2669d72.tar.xz
Add adjustEmail call to setEmail
Diffstat (limited to '')
-rw-r--r--util/src/entities/User.ts16
1 files changed, 10 insertions, 6 deletions
diff --git a/util/src/entities/User.ts b/util/src/entities/User.ts
index 5f864d8f..5ae90c7c 100644
--- a/util/src/entities/User.ts
+++ b/util/src/entities/User.ts
@@ -3,7 +3,7 @@ import { BaseClass } from "./BaseClass";
 import { BitField } from "../util/BitField";
 import { Relationship } from "./Relationship";
 import { ConnectedAccount } from "./ConnectedAccount";
-import { Config, FieldErrors, Snowflake, trimSpecial, BannedWords } from "..";
+import { Config, FieldErrors, Snowflake, trimSpecial, BannedWords, adjustEmail } from "..";
 import { Member, Session } from ".";
 
 export enum PublicUserEnum {
@@ -72,7 +72,7 @@ export class User extends BaseClass {
 		if (val.length > 4) throw new Error("invalid discriminator");
 		if (isNaN(number)) throw new Error("invalid discriminator");
 		if (number <= 0 || number >= 10000) throw new Error("discriminator must be between 1 and 9999");
-		val = Number(val).toString()
+		val = Number(val).toString();
 		this.discriminator = val.toString().padStart(4, "0");
 	}
 
@@ -139,10 +139,14 @@ export class User extends BaseClass {
 	@Column({ nullable: true, select: false })
 	email?: string; // email of the user
 
-	setEmail(val: string) {
-		if (!val.match(/([a-z\d.-]{3,})@([a-z\d.-]+).([a-z]{2,})/g)) throw FieldErrors({ email: { message: "Invalid email", code: "EMAIL_INVALID" } });
-        this.email = val;
-    }
+	setEmail(val?: string) {
+		if (val) {
+			val = adjustEmail(val);
+			if (!val) throw FieldErrors({ email: { message: "Invalid email", code: "EMAIL_INVALID" } });
+			if (!val.match(/([a-z\d.-]{3,})@([a-z\d.-]+).([a-z]{2,})/g)) throw FieldErrors({ email: { message: "Invalid email", code: "EMAIL_INVALID" } });
+		}
+		this.email = val;
+	}
 
 	@Column()
 	flags: string; // UserFlags