diff --git a/database/3.3.0/1727286976268-CreateUserSetting/Up/01-UserSetting.sql b/database/3.3.0/1727286976268-CreateUserSetting/Up/01-UserSetting.sql index 6692756..1c645c0 100644 --- a/database/3.3.0/1727286976268-CreateUserSetting/Up/01-UserSetting.sql +++ b/database/3.3.0/1727286976268-CreateUserSetting/Up/01-UserSetting.sql @@ -4,5 +4,8 @@ CREATE TABLE `user_setting` ( `WhenUpdated` datetime NOT NULL, `UserId` varchar(255) NOT NULL, `Key` varchar(255) NOT NULL, - `Value` varchar(255) NOT NULL + `Value` varchar(255) NOT NULL, ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +ALTER TABLE `user_setting` + ADD PRIMARY KEY (`Id`); diff --git a/database/3.3.0/1727286976268-CreateUserSetting/Up/02-UserSettingKey.sql b/database/3.3.0/1727286976268-CreateUserSetting/Up/02-UserSettingKey.sql deleted file mode 100644 index 4c839b4..0000000 --- a/database/3.3.0/1727286976268-CreateUserSetting/Up/02-UserSettingKey.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE user_setting - ADD PRIMARY KEY (Id); diff --git a/src/buttonEvents/moons/list.ts b/src/buttonEvents/moons/list.ts index cf2c463..36aa356 100644 --- a/src/buttonEvents/moons/list.ts +++ b/src/buttonEvents/moons/list.ts @@ -1,7 +1,6 @@ import {ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, EmbedBuilder} from "discord.js"; import Moon from "../../database/entities/304276391837302787/Moon"; import EmbedColours from "../../constants/EmbedColours"; -import UserSetting from "../../database/entities/UserSetting"; export default async function List(interaction: ButtonInteraction) { if (!interaction.guild) return; @@ -24,9 +23,6 @@ export default async function List(interaction: ButtonInteraction) { return; } - const moonSetting = await UserSetting.FetchOneByKey(userId, "moons"); - const totalMoons = moonSetting && Number(moonSetting.Value) ? Number(moonSetting.Value) : 0; - const totalPages = Math.ceil(moons[1] / pageLength); const description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`); @@ -35,7 +31,7 @@ export default async function List(interaction: ButtonInteraction) { .setTitle(`${member?.user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) - .setFooter({ text: `Page ${pageNumber + 1} of ${totalPages} · ${totalMoons} moons` }); + .setFooter({ text: `Page ${page + 1} of ${totalPages} · ${moons[1]} moons` }); const row = new ActionRowBuilder() .addComponents( diff --git a/src/commands/304276391837302787/moons/add.ts b/src/commands/304276391837302787/moons/add.ts index 5eb2cdd..130aee3 100644 --- a/src/commands/304276391837302787/moons/add.ts +++ b/src/commands/304276391837302787/moons/add.ts @@ -1,7 +1,6 @@ import {CommandInteraction, EmbedBuilder} from "discord.js"; import Moon from "../../../database/entities/304276391837302787/Moon"; import EmbedColours from "../../../constants/EmbedColours"; -import UserSetting from "../../../database/entities/UserSetting"; export default async function AddMoon(interaction: CommandInteraction) { const description = interaction.options.get("description", true).value?.toString(); @@ -11,16 +10,7 @@ export default async function AddMoon(interaction: CommandInteraction) { return; } - let moonSetting = await UserSetting.FetchOneByKey(interaction.user.id, "moons"); - const moonCount = moonSetting && Number(moonSetting.Value) ? Number(moonSetting.Value) : 0; - - if (moonSetting) { - moonSetting.UpdateValue(`${moonCount + 1}`); - } else { - moonSetting = new UserSetting(interaction.user.id, "moons", `${moonCount + 1}`); - } - - await moonSetting.Save(UserSetting, moonSetting); + const moonCount = await Moon.FetchMoonCountByUserId(interaction.user.id); const moon = new Moon(moonCount + 1, description, interaction.user.id); diff --git a/src/commands/304276391837302787/moons/list.ts b/src/commands/304276391837302787/moons/list.ts index 6d4c369..838cd14 100644 --- a/src/commands/304276391837302787/moons/list.ts +++ b/src/commands/304276391837302787/moons/list.ts @@ -1,7 +1,6 @@ import {ActionRowBuilder, ButtonBuilder, ButtonStyle, CommandInteraction, EmbedBuilder} from "discord.js"; import Moon from "../../../database/entities/304276391837302787/Moon"; import EmbedColours from "../../../constants/EmbedColours"; -import UserSetting from "../../../database/entities/UserSetting"; export default async function ListMoons(interaction: CommandInteraction) { const user = interaction.options.get("user")?.user ?? interaction.user; @@ -16,9 +15,6 @@ export default async function ListMoons(interaction: CommandInteraction) { return; } - const moonSetting = await UserSetting.FetchOneByKey(interaction.user.id, "moons"); - const totalMoons = moonSetting && Number(moonSetting.Value) ? Number(moonSetting.Value) : 0; - const totalPages = Math.ceil(moons[1] / pageLength); const description = moons[0].flatMap(x => `**${x.MoonNumber} -** ${x.Description.slice(0, 15)}`); @@ -27,7 +23,7 @@ export default async function ListMoons(interaction: CommandInteraction) { .setTitle(`${user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) - .setFooter({ text: `Page ${page + 1} of ${totalPages} · ${totalMoons} moons` }); + .setFooter({ text: `Page ${page + 1} of ${totalPages} · ${moons[1]} moons` }); const row = new ActionRowBuilder() .addComponents( diff --git a/src/database/migrations/3.3/1727286976268-CreateUserSetting.ts b/src/database/migrations/3.3/1727286976268-CreateUserSetting.ts index 42144ca..81e09b9 100644 --- a/src/database/migrations/3.3/1727286976268-CreateUserSetting.ts +++ b/src/database/migrations/3.3/1727286976268-CreateUserSetting.ts @@ -6,7 +6,6 @@ export class CreateUserSetting1727286976268 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { MigrationHelper.Up('1727286976268-CreateUserSetting', '3.3.0', [ "01-UserSetting", - "02-UserSettingKey", ], queryRunner); }