diff --git a/src/main/java/dev/salmonllama/fsbot/database/controllers/StaticPermissionController.java b/src/main/java/dev/salmonllama/fsbot/database/controllers/StaticPermissionController.java index d70aefd..955fb70 100644 --- a/src/main/java/dev/salmonllama/fsbot/database/controllers/StaticPermissionController.java +++ b/src/main/java/dev/salmonllama/fsbot/database/controllers/StaticPermissionController.java @@ -49,6 +49,16 @@ public class StaticPermissionController { }); } + public static CompletableFuture>> getAll() { + return CompletableFuture.supplyAsync(() -> { + try { + return getAllExec(); + } catch (SQLException e) { + throw new CompletionException(e); + } + }); + } + public static CompletableFuture delete(StaticPermission perm) { return delete(perm.getUserId(), perm.getPermission()); } @@ -105,6 +115,23 @@ public class StaticPermissionController { return Optional.of(users); } + private static Optional> getAllExec() throws SQLException { + ResultSet rs = FSDB.get().select("SELECT * FROM static_permissions"); + + Collection permissions = new ArrayList<>(); + while (rs.next()) { + permissions.add(mapObject(rs)); + } + + FSDB.get().close(rs); + + if (permissions.isEmpty()) { + return Optional.empty(); + } + + return Optional.of(permissions); + } + private static void deleteExec(String userId, String perm) throws SQLException { FSDB.get().query("DELETE FROM static_permissions WHERE user_id = ? AND permission = ?", userId, perm); }