Seeding reorg
This commit is contained in:
@@ -22,13 +22,6 @@ public class GlobalsRepository : IGlobalsRepository
|
||||
return await _dbContext.Set<BattlefieldEntry>().Where(bf => !onlyOpen || bf.IsOpen).ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<GameConfiguration> GetGameConfiguration(string key)
|
||||
{
|
||||
// TODO: fixed in Tasks 6-7 — Include() calls removed because nav props dropped in RefactorGameConfigurationToJsonb
|
||||
return await _dbContext.Set<GameConfiguration>().FirstOrDefaultAsync(gc => gc.Id == key) ??
|
||||
new GameConfiguration();
|
||||
}
|
||||
|
||||
public async Task<List<RankInfoEntry>> GetRankInfo()
|
||||
{
|
||||
return await _dbContext.Set<RankInfoEntry>().ToListAsync();
|
||||
|
||||
@@ -6,7 +6,6 @@ public interface IGlobalsRepository
|
||||
{
|
||||
Task<List<ClassExpEntry>> GetClassExpCurve();
|
||||
Task<List<BattlefieldEntry>> GetBattlefields(bool onlyOpen);
|
||||
Task<GameConfiguration> GetGameConfiguration(string key);
|
||||
Task<List<RankInfoEntry>> GetRankInfo();
|
||||
|
||||
// Prod-captured globals — populated by SVSim.Bootstrap.GlobalsImporter.
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using SVSim.Database.Enums;
|
||||
using SVSim.Database.Models;
|
||||
using SVSim.Database.Repositories.Card;
|
||||
using SVSim.Database.Repositories.Globals;
|
||||
using SVSim.Database.Models.Config;
|
||||
using SVSim.Database.Services;
|
||||
|
||||
namespace SVSim.Database.Repositories.Viewer;
|
||||
|
||||
public class ViewerRepository : IViewerRepository
|
||||
{
|
||||
protected readonly SVSimDbContext _dbContext;
|
||||
private readonly IGameConfigService _config;
|
||||
|
||||
private const int MaxFriends = 20;
|
||||
|
||||
public ViewerRepository(SVSimDbContext dbContext)
|
||||
public ViewerRepository(SVSimDbContext dbContext, IGameConfigService config)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_config = config;
|
||||
}
|
||||
|
||||
public async Task<Models.Viewer?> GetViewerBySocialConnection(SocialAccountType accountType, ulong socialId)
|
||||
@@ -73,7 +75,9 @@ public class ViewerRepository : IViewerRepository
|
||||
{
|
||||
DisplayName = displayName
|
||||
};
|
||||
GameConfiguration gameConfig = await new GlobalsRepository(_dbContext).GetGameConfiguration("default");
|
||||
var player = _config.Get<PlayerConfig>();
|
||||
var grants = _config.Get<DefaultGrantsConfig>();
|
||||
var loadout = _config.Get<DefaultLoadoutConfig>();
|
||||
|
||||
viewer.SocialAccountConnections.Add(new SocialAccountConnection
|
||||
{
|
||||
@@ -81,13 +85,12 @@ public class ViewerRepository : IViewerRepository
|
||||
AccountType = socialType
|
||||
});
|
||||
|
||||
// TODO: fixed in Task 7 — reads via Config tree after RefactorGameConfigurationToJsonb
|
||||
viewer.Info.MaxFriends = gameConfig.Config.Player.MaxFriends;
|
||||
viewer.Info.MaxFriends = player.MaxFriends;
|
||||
viewer.Info.CountryCode = "KOR";
|
||||
viewer.Info.BirthDate = DateTime.UtcNow;
|
||||
viewer.Currency.Crystals = gameConfig.Config.DefaultGrants.Crystals;
|
||||
viewer.Currency.Rupees = gameConfig.Config.DefaultGrants.Rupees;
|
||||
viewer.Currency.RedEther = gameConfig.Config.DefaultGrants.Ether;
|
||||
viewer.Currency.Crystals = grants.Crystals;
|
||||
viewer.Currency.Rupees = grants.Rupees;
|
||||
viewer.Currency.RedEther = grants.Ether;
|
||||
viewer.MissionData.TutorialState = 100; // finishes tutorial for now
|
||||
|
||||
// Load classes WITH their LeaderSkins — DefaultLeaderSkin iterates the nav collection
|
||||
@@ -108,11 +111,10 @@ public class ViewerRepository : IViewerRepository
|
||||
};
|
||||
}).ToList();
|
||||
|
||||
// TODO: fixed in Task 7 — load cosmetics by ID from Config.DefaultLoadout after RefactorGameConfigurationToJsonb
|
||||
var defaultSleeveId = gameConfig.Config.DefaultLoadout.SleeveId;
|
||||
var defaultDegreeId = gameConfig.Config.DefaultLoadout.DegreeId;
|
||||
var defaultEmblemId = gameConfig.Config.DefaultLoadout.EmblemId;
|
||||
var defaultBgId = gameConfig.Config.DefaultLoadout.MyPageBackgroundId;
|
||||
var defaultSleeveId = loadout.SleeveId;
|
||||
var defaultDegreeId = loadout.DegreeId;
|
||||
var defaultEmblemId = loadout.EmblemId;
|
||||
var defaultBgId = loadout.MyPageBackgroundId;
|
||||
var defaultSleeve = await _dbContext.Set<SleeveEntry>().FindAsync(defaultSleeveId);
|
||||
var defaultDegree = await _dbContext.Set<DegreeEntry>().FindAsync(defaultDegreeId);
|
||||
var defaultEmblem = await _dbContext.Set<EmblemEntry>().FindAsync(defaultEmblemId);
|
||||
|
||||
Reference in New Issue
Block a user