35 lines
1.4 KiB
C#
35 lines
1.4 KiB
C#
using MareSynchronos.API.Dto.User;
|
|
using MareSynchronos.PlayerData.Pairs;
|
|
using MareSynchronos.Services.Mediator;
|
|
using MareSynchronos.Services.ServerConfiguration;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace MareSynchronos.PlayerData.Factories;
|
|
|
|
public class PairFactory
|
|
{
|
|
private readonly PairHandlerFactory _cachedPlayerFactory;
|
|
private readonly ILoggerFactory _loggerFactory;
|
|
private readonly MareMediator _mareMediator;
|
|
private readonly ServerConfigurationManager _serverConfigurationManager;
|
|
|
|
public PairFactory(ILoggerFactory loggerFactory, PairHandlerFactory cachedPlayerFactory,
|
|
MareMediator mareMediator, ServerConfigurationManager serverConfigurationManager)
|
|
{
|
|
_loggerFactory = loggerFactory;
|
|
_cachedPlayerFactory = cachedPlayerFactory;
|
|
_mareMediator = mareMediator;
|
|
_serverConfigurationManager = serverConfigurationManager;
|
|
}
|
|
|
|
public Pair Create(UserFullPairDto userPairDto)
|
|
{
|
|
return new Pair(_loggerFactory.CreateLogger<Pair>(), userPairDto, _cachedPlayerFactory, _mareMediator, _serverConfigurationManager);
|
|
}
|
|
|
|
public Pair Create(UserPairDto userPairDto)
|
|
{
|
|
return new Pair(_loggerFactory.CreateLogger<Pair>(), new(userPairDto.User, userPairDto.IndividualPairStatus, [], userPairDto.OwnPermissions, userPairDto.OtherPermissions),
|
|
_cachedPlayerFactory, _mareMediator, _serverConfigurationManager);
|
|
}
|
|
} |