diff --git a/src/commands/304276391837302787/moons.ts b/src/commands/304276391837302787/moons.ts index 13f0f98..1556d97 100644 --- a/src/commands/304276391837302787/moons.ts +++ b/src/commands/304276391837302787/moons.ts @@ -12,15 +12,7 @@ export default class Moons extends Command { .addSubcommand(subcommand => subcommand .setName('list') - .setDescription('List moons you have obtained') - .addUserOption(option => - option - .setName("user") - .setDescription("The user to view (Defaults to yourself)")) - .addNumberOption(option => - option - .setName("page") - .setDescription("The page to start with"))); + .setDescription('List moons you have obtained')); } public override async execute(interaction: CommandInteraction) { diff --git a/src/commands/304276391837302787/moons/list.ts b/src/commands/304276391837302787/moons/list.ts index f568ff5..d862d5c 100644 --- a/src/commands/304276391837302787/moons/list.ts +++ b/src/commands/304276391837302787/moons/list.ts @@ -1,44 +1,22 @@ -import {ActionRowBuilder, ButtonBuilder, ButtonStyle, CommandInteraction, EmbedBuilder} from "discord.js"; +import {CommandInteraction, EmbedBuilder} from "discord.js"; import Moon from "../../../database/entities/Moon"; import EmbedColours from "../../../constants/EmbedColours"; -import MoonValues from "../../../constants/MoonValues"; export default async function ListMoons(interaction: CommandInteraction) { - const user = interaction.options.get("user")?.user ?? interaction.user; - const page = interaction.options.get("page")?.value as number ?? 0; + const moons = await Moon.FetchMoonsByUserId(interaction.user.id); - const moons = await Moon.FetchPaginatedMoonsByUserId(user.id, page); - - if (!moons || moons[0].length == 0) { - await interaction.reply(`${user.username} does not have any moons or page is invalid.`); + if (!moons || moons.length == 0) { + await interaction.reply("You do not have any moons."); return; } - const totalPages = Math.ceil(moons[1] / MoonValues.ListPageLength); - - const description = moons[0].flatMap(x => `${x.MoonNumber}. ${x.Description.slice(0, 15)}`); + const description = moons.flatMap(x => `${x.MoonNumber}. ${x.Description.slice(0, 15)}`); const embed = new EmbedBuilder() - .setTitle(`${user.username}'s Moons`) + .setTitle(`${interaction.user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) .setFooter({ text: `${moons.length} moons` }); - const row = new ActionRowBuilder() - .addComponents( - new ButtonBuilder() - .setCustomId(`moons ${user} ${page - 1}`) - .setLabel("Previous") - .setStyle(ButtonStyle.Primary) - .setDisabled(page == 0), - new ButtonBuilder() - .setCustomId(`moons ${user.id} ${page + 1}`) - .setLabel("Next") - .setStyle(ButtonStyle.Primary) - .setDisabled(page + 1 == totalPages)); - - await interaction.reply({ - embeds: [ embed ], - components: [ row ], - }); + await interaction.reply({ embeds: [ embed ] }); } diff --git a/src/constants/MoonValues.ts b/src/constants/MoonValues.ts deleted file mode 100644 index 52b49c8..0000000 --- a/src/constants/MoonValues.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default class MoonValues { - public static readonly ListPageLength = 10; -} diff --git a/src/database/entities/Moon.ts b/src/database/entities/Moon.ts index e246f8c..feb2cbb 100644 --- a/src/database/entities/Moon.ts +++ b/src/database/entities/Moon.ts @@ -1,7 +1,6 @@ import { Column, Entity } from "typeorm"; import BaseEntity from "../../contracts/BaseEntity"; import AppDataSource from "../dataSources/appDataSource"; -import MoonValues from "../../constants/MoonValues"; @Entity() export default class Moon extends BaseEntity { @@ -29,19 +28,4 @@ export default class Moon extends BaseEntity { return all; } - - public static async FetchPaginatedMoonsByUserId(userId: string, page: number): Promise<[ Moon[], number ]> { - const rangeStart = page * MoonValues.ListPageLength; - - const repository = AppDataSource.getRepository(Moon); - - const moons = await repository.findAndCount({ - where: { UserId: userId }, - order: { MoonNumber: "ASC" }, - skip: rangeStart, - take: MoonValues.ListPageLength, - }); - - return moons; - } }