Add permissions system

This commit is contained in:
Max Isom 2022-01-29 11:20:40 -05:00
parent 8e00726dc2
commit 1621b2c281
No known key found for this signature in database
GPG key ID: 25C9B1A7F6798880
8 changed files with 184 additions and 5 deletions

View file

@ -75,6 +75,7 @@ export default class implements Command {
}
async handleAutocompleteInteraction(interaction: AutocompleteInteraction) {
const subcommand = interaction.options.getSubcommand();
const query = interaction.options.getString('name')!.trim();
const favorites = await prisma.favoriteQuery.findMany({
@ -83,13 +84,16 @@ export default class implements Command {
},
});
const names = favorites.map(favorite => favorite.name);
let results = query === '' ? favorites : favorites.filter(f => f.name.startsWith(query));
const results = query === '' ? names : names.filter(name => name.startsWith(query));
if (subcommand === 'remove') {
// Only show favorites that user is allowed to remove
results = interaction.member?.user.id === interaction.guild?.ownerId ? results : results.filter(r => r.authorId === interaction.member!.user.id);
}
await interaction.respond(results.map(r => ({
name: r,
value: r,
name: r.name,
value: r.name,
})));
}