fix: перенёс уровни в бд и пофиксид их отображение на фронте
Backend CI / build-and-test (push) Successful in 52s
Frontend CI / build-and-check (push) Failing after 5m15s
🚀 Create and publish a Docker image / Detect changes in backend and frontend (push) Successful in 16s
🚀 Create and publish a Docker image / Build & publish backend image (push) Successful in 1m0s
🚀 Create and publish a Docker image / Build & publish frontend image (push) Successful in 32s
🚀 Create and publish a Docker image / Update stack on Portainer (push) Successful in 13s
Backend CI / build-and-test (push) Successful in 52s
Frontend CI / build-and-check (push) Failing after 5m15s
🚀 Create and publish a Docker image / Detect changes in backend and frontend (push) Successful in 16s
🚀 Create and publish a Docker image / Build & publish backend image (push) Successful in 1m0s
🚀 Create and publish a Docker image / Build & publish frontend image (push) Successful in 32s
🚀 Create and publish a Docker image / Update stack on Portainer (push) Successful in 13s
This commit is contained in:
@@ -26,7 +26,7 @@ public class UserService : IUserService
|
||||
.Include(u => u.Roles)
|
||||
.FirstOrDefaultAsync(u => u.Id == id)
|
||||
?? throw new NotFoundException("User", id);
|
||||
return user.ToDto(_gamification.CalculateLevel(user.Xp));
|
||||
return user.ToDto(await _gamification.CalculateLevelAsync(user.Xp));
|
||||
}
|
||||
|
||||
public async Task<UserDto> UpdateProfileAsync(int id, UpdateUserRequest request)
|
||||
@@ -42,7 +42,7 @@ public class UserService : IUserService
|
||||
|
||||
await _db.SaveChangesAsync();
|
||||
await _gamification.CheckAndAwardAchievementsAsync(id);
|
||||
return user.ToDto(_gamification.CalculateLevel(user.Xp));
|
||||
return user.ToDto(await _gamification.CalculateLevelAsync(user.Xp));
|
||||
}
|
||||
|
||||
public async Task<UserStatsDto> GetStatsAsync(int id)
|
||||
@@ -55,9 +55,13 @@ public class UserService : IUserService
|
||||
var reviews = await _db.Reviews.CountAsync(r => r.UserId == id);
|
||||
var achievements = await _db.UserAchievements.CountAsync(ua => ua.UserId == id);
|
||||
|
||||
var level = await _gamification.CalculateLevelAsync(user.Xp);
|
||||
var levelProgress = await _gamification.GetLevelProgressAsync(user.Xp);
|
||||
|
||||
return new UserStatsDto(
|
||||
totalLectures, attended, reviews,
|
||||
user.Xp, user.Coins, _gamification.CalculateLevel(user.Xp), achievements
|
||||
user.Xp, user.Coins, level, achievements,
|
||||
levelProgress.CurrentLevelXp, levelProgress.NextLevelXp
|
||||
);
|
||||
}
|
||||
|
||||
@@ -94,7 +98,10 @@ public class UserService : IUserService
|
||||
.Take(filter.PageSize)
|
||||
.ToListAsync();
|
||||
|
||||
var items = users.Select(u => u.ToDto(_gamification.CalculateLevel(u.Xp))).ToList();
|
||||
var items = new List<UserDto>(users.Count);
|
||||
foreach (var user in users)
|
||||
items.Add(user.ToDto(await _gamification.CalculateLevelAsync(user.Xp)));
|
||||
|
||||
return PagedResult<UserDto>.Create(items, total, filter.Page, filter.PageSize);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user