summary refs log tree commit diff
path: root/api/src/routes
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-09 12:54:03 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-09 12:54:03 +0200
commitd1844b65d147022d1c848d368f893af3c5603f77 (patch)
treefd8b2b33b4290f143149e8766b020f27d69db4fe /api/src/routes
parent:bug: fix password changing (diff)
downloadserver-d1844b65d147022d1c848d368f893af3c5603f77.tar.xz
:sparkles: added guestsRequireInvite to config
Diffstat (limited to 'api/src/routes')
-rw-r--r--api/src/routes/auth/register.ts12
1 files changed, 7 insertions, 5 deletions
diff --git a/api/src/routes/auth/register.ts b/api/src/routes/auth/register.ts
index 9f3b46f1..4b08e78e 100644
--- a/api/src/routes/auth/register.ts
+++ b/api/src/routes/auth/register.ts
@@ -154,16 +154,18 @@ router.post("/", route({ body: "RegisterSchema" }), async (req: Request, res: Re
 		});
 	}
 
+	if (!body.invite && (register.requireInvite || (register.guestsRequireInvite && !register.email))) {
+		// require invite to register -> e.g. for organizations to send invites to their employees
+		throw FieldErrors({
+			email: { code: "INVITE_ONLY", message: req.t("auth:register.INVITE_ONLY") }
+		});
+	}
+
 	const user = await User.register({ ...body, req });
 
 	if (body.invite) {
 		// await to fail if the invite doesn't exist (necessary for requireInvite to work properly) (username only signups are possible)
 		await Invite.joinGuild(user.id, body.invite);
-	} else if (register.requireInvite) {
-		// require invite to register -> e.g. for organizations to send invites to their employees
-		throw FieldErrors({
-			email: { code: "INVITE_ONLY", message: req.t("auth:register.INVITE_ONLY") }
-		});
 	}
 
 	return res.json({ token: await generateToken(user.id) });