1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-10 12:42:44 +01:00

added guestsRequireInvite to config

This commit is contained in:
Flam3rboy 2021-10-09 12:54:03 +02:00
parent 0fd47815eb
commit d1844b65d1
2 changed files with 9 additions and 5 deletions

View File

@ -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) });

View File

@ -128,6 +128,7 @@ export interface ConfigValue {
disabled: boolean;
requireCaptcha: boolean;
requireInvite: boolean;
guestsRequireInvite: boolean;
allowNewRegistration: boolean;
allowMultipleAccounts: boolean;
blockProxies: boolean;
@ -277,6 +278,7 @@ export const DefaultConfigOptions: ConfigValue = {
},
disabled: false,
requireInvite: false,
guestsRequireInvite: true,
requireCaptcha: true,
allowNewRegistration: true,
allowMultipleAccounts: true,