api: don't fetch all data when tracking player metrics
Some checks failed
Deploy API / docker (17, 3.8.5) (push) Failing after 30s
Some checks failed
Deploy API / docker (17, 3.8.5) (push) Failing after 30s
This commit is contained in:
parent
6f49d81664
commit
84eb8a4b94
@ -145,10 +145,10 @@ public class ScoreSaberPlatform extends Platform {
|
|||||||
@Override
|
@Override
|
||||||
public void trackPlayerMetrics() {
|
public void trackPlayerMetrics() {
|
||||||
Date date = DateUtils.getMidnightToday();
|
Date date = DateUtils.getMidnightToday();
|
||||||
for (User user : this.userService.getUsers(false)) {
|
for (User user : this.userService.getUsers(true)) {
|
||||||
HistoryPoint history = user.getHistory().getHistoryForDate(date);
|
HistoryPoint history = user.getHistory().getHistoryForDate(date);
|
||||||
if (user.isLinkedAccount()) { // Check if the user has linked their account
|
if (user.isLinkedAccount()) { // Check if the user has linked their account
|
||||||
ScoreSaberAccountToken account = scoreSaberService.getAccount(user); // Get the account from the ScoreSaber API
|
ScoreSaberAccountToken account = this.scoreSaberService.getAccount(user); // Get the account from the ScoreSaber API
|
||||||
history.setPp(account.getPp());
|
history.setPp(account.getPp());
|
||||||
history.setRank(account.getRank());
|
history.setRank(account.getRank());
|
||||||
history.setCountryRank(account.getCountryRank());
|
history.setCountryRank(account.getCountryRank());
|
||||||
|
@ -25,8 +25,8 @@ public interface UserRepository extends MongoRepository<User, UUID> {
|
|||||||
*
|
*
|
||||||
* @return the list of users
|
* @return the list of users
|
||||||
*/
|
*/
|
||||||
@Query(value = "{}", fields = "{ 'steamId' : 1 }")
|
@Query(value = "{}", fields = "{ 'steamId' : 1, linkedAccount: 1 }")
|
||||||
List<User> fetchOnlySteamIds();
|
List<User> fetchAccountsSimple();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds a user by their username.
|
* Finds a user by their username.
|
||||||
|
@ -105,9 +105,9 @@ public class UserService {
|
|||||||
*
|
*
|
||||||
* @return all users
|
* @return all users
|
||||||
*/
|
*/
|
||||||
public List<User> getUsers(boolean steamIdsOnly) {
|
public List<User> getUsers(boolean smallerAccount) {
|
||||||
if (steamIdsOnly) {
|
if (smallerAccount) {
|
||||||
return this.userRepository.fetchOnlySteamIds();
|
return this.userRepository.fetchAccountsSimple();
|
||||||
}
|
}
|
||||||
return this.userRepository.findAll();
|
return this.userRepository.findAll();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user