Finished playerdata endpoint aside from donation stuff and bug testing, moved what controllers use out to services
This commit is contained in:
@@ -20,6 +20,8 @@ namespace TOOHUCardAPI.Data.Models
|
||||
public int Point { get; set; }
|
||||
public DateTime LastFirstWin { get; set; }
|
||||
public int PowerMaxTotal { get; set; }
|
||||
public string PetModel { get; set; }
|
||||
public string PetEffect { get; set; }
|
||||
public List<EncodedCardGroup> EncodedCardGroups { get; set; }
|
||||
public List<CardLevel> CardLevels { get; set; }
|
||||
}
|
||||
|
||||
@@ -29,6 +29,16 @@ namespace TOOHUCardAPI.Data.Services
|
||||
_logger.LogInformation($"User with steamid {user.SteamId} was given {points} points. New total: {user.Point}");
|
||||
}
|
||||
|
||||
public async Task<User> SaveKeyTotal(string steamId, int keyTotal, int keyUseCount)
|
||||
{
|
||||
User user = await _userRepository.GetUser(steamId);
|
||||
_logger.LogInformation($"User {user.SteamId} just stored some key total data, previous total and use: ({user.KeyTotal},{user.KeyUseCount}). new ({keyTotal},{keyUseCount})");
|
||||
user.KeyTotal = keyTotal;
|
||||
user.KeyUseCount = keyUseCount;
|
||||
await _userRepository.UpdateUser(user);
|
||||
return user;
|
||||
}
|
||||
|
||||
public async Task<int> ChangePowerMaxTotal(string steamId, int amt)
|
||||
{
|
||||
User user = await _userRepository.GetUser(steamId);
|
||||
|
||||
48
TOOHUCardAPI/Data/Services/UserService.cs
Normal file
48
TOOHUCardAPI/Data/Services/UserService.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using TOOHUCardAPI.Data.Models;
|
||||
using TOOHUCardAPI.Data.Repositories;
|
||||
|
||||
namespace TOOHUCardAPI.Data.Services
|
||||
{
|
||||
public class UserService
|
||||
{
|
||||
private readonly ILogger<UserService> _logger;
|
||||
private readonly UserRepository _userRepository;
|
||||
|
||||
public UserService(ILogger<UserService> logger, UserRepository userRepository)
|
||||
{
|
||||
_logger = logger;
|
||||
_userRepository = userRepository;
|
||||
}
|
||||
|
||||
public async Task<User> LoginUser(string steamId)
|
||||
{
|
||||
_logger.LogInformation($"User {steamId} just logged in");
|
||||
return await _userRepository.GetOrCreateUser(steamId);
|
||||
}
|
||||
|
||||
public async Task SaveCardGroup(string steamId, string groupKey, string groupData)
|
||||
{
|
||||
User user = await _userRepository.GetUser(steamId);
|
||||
|
||||
EncodedCardGroup group = user.EncodedCardGroups.FirstOrDefault(group => group.GroupKey == groupKey) ?? new EncodedCardGroup()
|
||||
{
|
||||
GroupKey = groupKey
|
||||
};
|
||||
group.EncodedString = groupData;
|
||||
user.EncodedCardGroups = user.EncodedCardGroups.Where(group2 => group.Id != group2.Id).Append(group).ToList();
|
||||
_logger.LogInformation($"{user.SteamId} just stored a card group");
|
||||
await _userRepository.UpdateUser(user);
|
||||
}
|
||||
|
||||
public async Task SavePetData(string steamId, string petModel, string petEffect)
|
||||
{
|
||||
User user = await _userRepository.GetUser(steamId);
|
||||
user.PetModel = petModel;
|
||||
user.PetEffect = petEffect;
|
||||
_logger.LogInformation($"User {user.SteamId} saved new pet data with model: {petModel} and effect {petEffect}");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user