diff --git a/src/main/java/me/youhavetrouble/noted/Storage.java b/src/main/java/me/youhavetrouble/noted/Storage.java index 776475d..176c6b3 100644 --- a/src/main/java/me/youhavetrouble/noted/Storage.java +++ b/src/main/java/me/youhavetrouble/noted/Storage.java @@ -220,6 +220,21 @@ public class Storage { } } + public Set getAliases(UUID noteId) { + try (Connection connection = dataSource.getConnection()) { + PreparedStatement statement = connection.prepareStatement("SELECT alias FROM aliases WHERE note_id = ?"); + statement.setString(1, noteId.toString()); + ResultSet resultSet = statement.executeQuery(); + Set aliases = new HashSet<>(); + while (resultSet.next()) { + aliases.add(resultSet.getString("alias")); + } + return aliases; + } catch (SQLException e) { + return new HashSet<>(); + } + } + @Nullable public Note getNote(@NotNull String alias) { try (Connection connection = dataSource.getConnection()) { diff --git a/src/main/java/me/youhavetrouble/noted/listener/SlashCommandListener.java b/src/main/java/me/youhavetrouble/noted/listener/SlashCommandListener.java index 56b3bb8..4a9f0c4 100644 --- a/src/main/java/me/youhavetrouble/noted/listener/SlashCommandListener.java +++ b/src/main/java/me/youhavetrouble/noted/listener/SlashCommandListener.java @@ -351,7 +351,8 @@ public class SlashCommandListener extends ListenerAdapter { Storage.Status status = Main.getStorage().deleteNote(note.id); if (status == Storage.Status.SUCCESS) { - aliases.remove(noteAlias); + Set noteAliases = Main.getStorage().getAliases(note.id); + noteAliases.forEach(aliases::remove); event.reply("Note deleted.") .setEphemeral(true) .queue();