Merge pull request #1354 from CyberL1/fix/bulk-command-registration
Remove commands not present in array for bulk registration
This commit is contained in:
commit
09b1e08632
@ -20,6 +20,7 @@ import { ApplicationCommandCreateSchema, ApplicationCommandSchema } from "@space
|
||||
import { route } from "@spacebar/api";
|
||||
import { Request, Response, Router } from "express";
|
||||
import { Application, ApplicationCommand, FieldErrors, Snowflake } from "@spacebar/util";
|
||||
import { IsNull } from "typeorm";
|
||||
|
||||
const router = Router({ mergeParams: true });
|
||||
|
||||
@ -110,6 +111,16 @@ router.put(
|
||||
|
||||
const body = req.body as ApplicationCommandCreateSchema[];
|
||||
|
||||
// Remove commands not present in array
|
||||
const applicationCommands = await ApplicationCommand.find({ where: { application_id: req.params.application_id, guild_id: IsNull() } });
|
||||
|
||||
const commandNamesInArray = body.map((c) => c.name);
|
||||
const commandsNotInArray = applicationCommands.filter((c) => !commandNamesInArray.includes(c.name));
|
||||
|
||||
for (const command of commandsNotInArray) {
|
||||
await ApplicationCommand.delete({ application_id: req.params.application_id, guild_id: IsNull(), id: command.id });
|
||||
}
|
||||
|
||||
for (const command of body) {
|
||||
if (!command.type) {
|
||||
command.type = 1;
|
||||
|
||||
@ -147,6 +147,16 @@ router.put(
|
||||
|
||||
const body = req.body as ApplicationCommandCreateSchema[];
|
||||
|
||||
// Remove commands not present in array
|
||||
const applicationCommands = await ApplicationCommand.find({ where: { application_id: req.params.application_id, guild_id: req.params.guild_id } });
|
||||
|
||||
const commandNamesInArray = body.map((c) => c.name);
|
||||
const commandsNotInArray = applicationCommands.filter((c) => !commandNamesInArray.includes(c.name));
|
||||
|
||||
for (const command of commandsNotInArray) {
|
||||
await ApplicationCommand.delete({ application_id: req.params.application_id, guild_id: req.params.guild_id, id: command.id });
|
||||
}
|
||||
|
||||
for (const command of body) {
|
||||
if (!command.type) {
|
||||
command.type = 1;
|
||||
|
||||
Reference in New Issue
Block a user