From 29c30d928ea2e7b816e2f170e1cdcdbd177c51bc Mon Sep 17 00:00:00 2001 From: Aleksei Date: Wed, 26 Feb 2020 14:40:56 -0500 Subject: [PATCH] Added method for getting tags from db --- .../controllers/OutfitController.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/dev/salmonllama/fsbot/database/controllers/OutfitController.java b/src/main/java/dev/salmonllama/fsbot/database/controllers/OutfitController.java index 423c745..9b96505 100644 --- a/src/main/java/dev/salmonllama/fsbot/database/controllers/OutfitController.java +++ b/src/main/java/dev/salmonllama/fsbot/database/controllers/OutfitController.java @@ -11,6 +11,8 @@ import dev.salmonllama.fsbot.database.models.Outfit; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Collection; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; @@ -86,6 +88,16 @@ public class OutfitController { }); } + public static CompletableFuture> getDistinctTags() { + return CompletableFuture.supplyAsync(() -> { + try { + return getDistinctTagsExec(); + } catch (SQLException e) { + throw new CompletionException(e); + } + }); + } + private static void insertExec(Outfit outfit) throws SQLException { if (outfit.getCreated() == null) { outfit.setCreated(new Timestamp(System.currentTimeMillis())); @@ -188,6 +200,18 @@ public class OutfitController { return count; } + private static Collection getDistinctTagsExec() throws SQLException { + ResultSet rs = FSDB.get().select("SELECT DISTINCT tag FROM outfits"); + + Collection tags = new ArrayList<>(); + while (rs.next()) { + tags.add(rs.getString("tag")); + } + + FSDB.get().close(rs); + return tags; + } + private static Outfit mapObject(ResultSet rs) throws SQLException { return new Outfit.OutfitBuilder() .setId(rs.getString("id"))