add all admin stuff, refactor ApiController into partial classes
This commit is contained in:
91
MareSynchronos/WebAPI/ApiController.Functions.Callbacks.cs
Normal file
91
MareSynchronos/WebAPI/ApiController.Functions.Callbacks.cs
Normal file
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using MareSynchronos.API;
|
||||
using MareSynchronos.Utils;
|
||||
using MareSynchronos.WebAPI.Utils;
|
||||
|
||||
namespace MareSynchronos.WebAPI
|
||||
{
|
||||
public partial class ApiController
|
||||
{
|
||||
private void UserForcedReconnectCallback()
|
||||
{
|
||||
_ = CreateConnections();
|
||||
}
|
||||
|
||||
private void UpdateLocalClientPairsCallback(ClientPairDto dto, string characterIdentifier)
|
||||
{
|
||||
var entry = PairedClients.SingleOrDefault(e => e.OtherUID == dto.OtherUID);
|
||||
if (dto.IsRemoved)
|
||||
{
|
||||
PairedClients.RemoveAll(p => p.OtherUID == dto.OtherUID);
|
||||
UnpairedFromOther?.Invoke(characterIdentifier, EventArgs.Empty);
|
||||
return;
|
||||
}
|
||||
if (entry == null)
|
||||
{
|
||||
PairedClients.Add(dto);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((entry.IsPausedFromOthers != dto.IsPausedFromOthers || entry.IsSynced != dto.IsSynced || entry.IsPaused != dto.IsPaused)
|
||||
&& !dto.IsPaused && dto.IsSynced && !dto.IsPausedFromOthers)
|
||||
{
|
||||
PairedWithOther?.Invoke(characterIdentifier, EventArgs.Empty);
|
||||
}
|
||||
|
||||
entry.IsPaused = dto.IsPaused;
|
||||
entry.IsPausedFromOthers = dto.IsPausedFromOthers;
|
||||
entry.IsSynced = dto.IsSynced;
|
||||
|
||||
if (dto.IsPaused || dto.IsPausedFromOthers || !dto.IsSynced)
|
||||
{
|
||||
UnpairedFromOther?.Invoke(characterIdentifier, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
|
||||
private Task ReceiveCharacterDataCallback(CharacterCacheDto character, string characterHash)
|
||||
{
|
||||
Logger.Verbose("Received DTO for " + characterHash);
|
||||
CharacterReceived?.Invoke(null, new CharacterReceivedEventArgs(characterHash, character));
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private void UpdateOrAddBannedUserCallback(BannedUserDto obj)
|
||||
{
|
||||
var user = BannedUsers.SingleOrDefault(b => b.CharacterHash == obj.CharacterHash);
|
||||
if (user == null)
|
||||
{
|
||||
BannedUsers.Add(obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
user.Reason = obj.Reason;
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteBannedUserCallback(BannedUserDto obj)
|
||||
{
|
||||
BannedUsers.RemoveAll(a => a.CharacterHash == obj.CharacterHash);
|
||||
}
|
||||
|
||||
private void UpdateOrAddForbiddenFileCallback(ForbiddenFileDto obj)
|
||||
{
|
||||
var user = ForbiddenFiles.SingleOrDefault(b => b.Hash == obj.Hash);
|
||||
if (user == null)
|
||||
{
|
||||
ForbiddenFiles.Add(obj);
|
||||
}
|
||||
else
|
||||
{
|
||||
user.ForbiddenBy = obj.ForbiddenBy;
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteForbiddenFileCallback(ForbiddenFileDto obj)
|
||||
{
|
||||
ForbiddenFiles.RemoveAll(f => f.Hash == obj.Hash);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user