added ban check to Member.addToGuild

This commit is contained in:
xnacly 2021-09-03 21:31:45 +02:00
parent 7db26b5952
commit 94c96be0ee

View File

@ -26,7 +26,8 @@ import { HTTPError } from "lambert-server";
import { Role } from "./Role"; import { Role } from "./Role";
import { Snowflake } from "../util/Snowflake"; import { Snowflake } from "../util/Snowflake";
import { BaseClassWithoutId } from "./BaseClass"; import { BaseClassWithoutId } from "./BaseClass";
import { PublicGuildRelations } from "."; import { Ban, PublicGuildRelations } from ".";
import { DiscordApiErrors } from "../util/Constants";
@Entity("members") @Entity("members")
@Index(["id", "guild_id"], { unique: true }) @Index(["id", "guild_id"], { unique: true })
@ -199,7 +200,10 @@ export class Member extends BaseClassWithoutId {
static async addToGuild(user_id: string, guild_id: string) { static async addToGuild(user_id: string, guild_id: string) {
const user = await User.getPublicUser(user_id); const user = await User.getPublicUser(user_id);
const isBanned = await Ban.count({ where: { guild_id, user_id } });
if (isBanned) {
throw DiscordApiErrors.USER_BANNED;
}
const { maxGuilds } = Config.get().limits.user; const { maxGuilds } = Config.get().limits.user;
const guild_count = await Member.count({ id: user_id }); const guild_count = await Member.count({ id: user_id });
if (guild_count >= maxGuilds) { if (guild_count >= maxGuilds) {