Skip to content

Commit 4c2f8db

Browse files
committed
Start on database interactions for ladders
1 parent fc44758 commit 4c2f8db

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

API/src/main/java/me/innectic/permissify/api/database/DatabaseHandler.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import lombok.Getter;
2828
import me.innectic.permissify.api.group.Permission;
2929
import me.innectic.permissify.api.group.group.PermissionGroup;
30+
import me.innectic.permissify.api.group.ladder.AbstractLadder;
3031
import me.innectic.permissify.api.profile.PermissifyProfile;
3132

3233
import java.util.*;
@@ -274,4 +275,7 @@ public DatabaseHandler(ConnectionInformation connectionInformation) {
274275
* @param group the new group to become the default.
275276
*/
276277
public abstract void setDefaultGroup(PermissionGroup group);
278+
279+
public abstract void setGroupLadder(PermissionGroup group, AbstractLadder ladder);
280+
public abstract Optional<AbstractLadder> getGroupLadder(PermissionGroup group);
277281
}

API/src/main/java/me/innectic/permissify/api/database/handlers/SQLHandler.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import me.innectic.permissify.api.group.Permission;
3131
import me.innectic.permissify.api.database.ConnectionInformation;
3232
import me.innectic.permissify.api.group.group.PermissionGroup;
33+
import me.innectic.permissify.api.group.ladder.AbstractLadder;
3334
import me.innectic.permissify.api.profile.PermissifyProfile;
3435
import me.innectic.permissify.api.util.FormatterType;
3536

@@ -793,6 +794,20 @@ public void setDefaultGroup(PermissionGroup group) {
793794
}
794795
}
795796

797+
@Override
798+
public void setGroupLadder(PermissionGroup group, AbstractLadder ladder) {
799+
// TODO: Make this method less expensive
800+
group.setLadder(ladder);
801+
this.cachedGroups.removeIf(pGroup -> pGroup.getName().equals(group.getName())); // TODO: Groups should have their own equals thing
802+
this.cachedGroups.add(group);
803+
}
804+
805+
@Override
806+
public Optional<AbstractLadder> getGroupLadder(PermissionGroup group) {
807+
// TODO: Actually commit this to the database
808+
return Optional.ofNullable(group.getLadder());
809+
}
810+
796811
private boolean hasFormattingTable(Connection connection, String database) {
797812
try {
798813
if (isUsingSqlite) {

API/src/main/java/me/innectic/permissify/api/group/group/PermissionGroup.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import lombok.Getter;
2828
import lombok.RequiredArgsConstructor;
29+
import lombok.Setter;
2930
import me.innectic.permissify.api.group.Permission;
3031
import me.innectic.permissify.api.group.ladder.AbstractLadder;
3132

@@ -44,7 +45,7 @@ public class PermissionGroup implements Serializable {
4445
@Getter private final String suffix;
4546
@Getter private List<Permission> permissions = new ArrayList<>();
4647
@Getter private Map<UUID, Boolean> players = new HashMap<>();
47-
@Getter private AbstractLadder ladder; // TODO: Ask the database for the ladder
48+
@Getter @Setter private AbstractLadder ladder; // TODO: Ask the database for the ladder
4849

4950
/**
5051
* Remove a permission from the group

0 commit comments

Comments
 (0)