diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts index a6cbe60c..d61737b6 100644 --- a/src/api/routes/guilds/#guild_id/index.ts +++ b/src/api/routes/guilds/#guild_id/index.ts @@ -183,8 +183,6 @@ router.patch( body.system_channel_id = undefined; } - guild.assign(body); - if (body.public_updates_channel_id == "1") { // create an updates channel for them const channel = await Channel.createChannel( @@ -210,12 +208,14 @@ router.patch( await Guild.insertChannelInOrder(guild.id, channel.id, 0, guild); guild.public_updates_channel_id = channel.id; - } else if (body.public_updates_channel_id != undefined) { + } else if (body.public_updates_channel_id) { // ensure channel exists in this guild await Channel.findOneOrFail({ where: { guild_id, id: body.public_updates_channel_id }, select: { id: true }, }); + } else { + body.public_updates_channel_id = undefined; } if (body.rules_channel_id == "1") { @@ -243,13 +243,17 @@ router.patch( await Guild.insertChannelInOrder(guild.id, channel.id, 0, guild); guild.rules_channel_id = channel.id; - } else if (body.rules_channel_id != undefined) { + } else if (body.rules_channel_id) { // ensure channel exists in this guild await Channel.findOneOrFail({ where: { guild_id, id: body.rules_channel_id }, select: { id: true }, }); + } else { + body.rules_channel_id = undefined; } + + guild.assign(body); const data = guild.toJSON(); // TODO: guild hashes