diff --git a/Plan/common/src/main/java/com/djrapitops/plan/DataService.java b/Plan/common/src/main/java/com/djrapitops/plan/DataService.java index b799d05b7..c00d54dbf 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/DataService.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/DataService.java @@ -16,6 +16,8 @@ */ package com.djrapitops.plan; +import com.djrapitops.plan.storage.database.queries.Query; + import java.util.Optional; import java.util.function.Consumer; import java.util.function.Function; @@ -73,4 +75,6 @@ public interface DataService {
DataService registerSupplier(Class type, Class
parameterType, Function
supplierWithParameter); +
DataService registerDBSupplier(Class type, Class
parameterType, Function
> supplierWithParameter);
+
}
diff --git a/Plan/common/src/main/java/com/djrapitops/plan/DataSvc.java b/Plan/common/src/main/java/com/djrapitops/plan/DataSvc.java
index 8ca95957b..cc27379f7 100644
--- a/Plan/common/src/main/java/com/djrapitops/plan/DataSvc.java
+++ b/Plan/common/src/main/java/com/djrapitops/plan/DataSvc.java
@@ -16,6 +16,10 @@
*/
package com.djrapitops.plan;
+import com.djrapitops.plan.storage.database.DBSystem;
+import com.djrapitops.plan.storage.database.queries.Query;
+import dagger.Lazy;
+
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.*;
@@ -33,8 +37,13 @@ public class DataSvc implements DataService {
private final Map DataService registerDBSupplier(Class parameterType, Function > queryVisitor) {
+ return registerSupplier(type, parameterType, parameter -> dbSystem.get().getDatabase().query(queryVisitor.apply(parameter)));
+ }
+
private static class ClassPair {
final Class a;
final Class b;
type, Class