feat: respect Settings.GuildInvRestriction for addToGuild (#1345)
All checks were successful
Build / build (18) (push) Successful in 42s
Build / build (20) (push) Successful in 1m13s
Build / build (22) (push) Successful in 38s
Build Docker image / docker (push) Successful in 46s

Reviewed-on: #1345
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-03-27 12:57:57 -07:00 committed by Sainan
parent 36d2b2dda5
commit 692dfaf0a5

View File

@ -18,6 +18,13 @@ export const addToGuildController: RequestHandler = async (req, res) => {
return; return;
} }
const inventory = await getInventory(account._id.toString(), "Settings");
// TODO: Also consider GIFT_MODE_FRIENDS once friends are implemented
if (inventory.Settings?.GuildInvRestriction == "GIFT_MODE_NONE") {
res.status(400).json("Invite restricted");
return;
}
const guild = (await Guild.findById(payload.GuildId.$oid, "Name"))!; const guild = (await Guild.findById(payload.GuildId.$oid, "Name"))!;
const senderAccount = await getAccountForRequest(req); const senderAccount = await getAccountForRequest(req);
if (!(await hasGuildPermission(guild, senderAccount._id.toString(), GuildPermission.Recruiter))) { if (!(await hasGuildPermission(guild, senderAccount._id.toString(), GuildPermission.Recruiter))) {