More fixes

This commit is contained in:
Paul Reilly
2023-04-07 17:37:56 -05:00
parent 198f1d3acf
commit 3dde5ef578
10 changed files with 169 additions and 70 deletions

View File

@ -115,16 +115,87 @@ public class Hierarchy
});
}
public void addUserData(Player player) {
userWrapper.addUserData(player).whenComplete((a, b) ->
{
if (b != null)
{
FLog.severe(b);
}
});
}
public void updateUserData(Player player) {
userWrapper.updateUserData(player).whenComplete((a, b) ->
{
if (b != null)
{
FLog.severe(b);
}
});
}
public void dropUserData(Player player) {
userWrapper.removeUserData(player).whenComplete((a, b) ->
{
if (b != null)
{
FLog.severe(b);
}
});
}
public CompletableFuture<PromotionResult> promoteUser(Track track, Player player)
{
return userWrapper.getUserData(player).thenApply(data ->
track.promote(data.getUser(), data.getContextSet()));
{
boolean isOnTrack = false;
for (String trackGroup : track.getGroups())
{
for (Group userGroup : data.getUser().getInheritedGroups(data.getQueryOptions()))
{
if (userGroup.getName().equals(trackGroup))
{
isOnTrack = true;
}
}
}
if (isOnTrack)
{
return track.promote(data.getUser(), data.getContextSet());
} else
{
addUserToGroup(GroupProvider.fromString(track.getGroups().get(0)).getGroup(), player);
return null;
}
});
}
public CompletableFuture<DemotionResult> demoteUser(Track track, Player player)
{
return userWrapper.getUserData(player).thenApply(data ->
track.demote(data.getUser(), data.getContextSet()));
{
boolean isOnTrack = false;
for (String trackGroup : track.getGroups())
{
for (Group userGroup : data.getUser().getInheritedGroups(data.getQueryOptions()))
{
if (userGroup.getName().equals(trackGroup))
{
isOnTrack = true;
}
}
}
if (isOnTrack)
{
return track.demote(data.getUser(), data.getContextSet());
} else
{
return null;
}
});
}
public void addUserToGroup(DisplayableGroup group, Player player)
@ -145,6 +216,8 @@ public class Hierarchy
{
FLog.severe(b);
}
updateUserData(player);
});
}
@ -175,6 +248,8 @@ public class Hierarchy
{
FLog.severe(b);
}
updateUserData(player);
});
}
}