Client rework for API change and paradigm shift (#39)
* most of the groups refactoring on client * register OnMethods for group stuff * start implementing client (still pretty broken) * finish implementing new api first iteration * idk rework everything for pair shit (still WIP); goal is to remove PairedClients and GroupPairClients from ApiController * move everything to PairManager, remove dictionaries from APiController * remove admin stuff from client, cleanup * adjust reconnection handling, add new settings, todo still to remove access from old stuff that's marked obsolete from config * add back adding servers, fix intro ui * fix obsolete calls * adjust config namespace * add UI for setting animation/sound permissions to syncshells * add ConfigurationService to hot reload config on change from external * move transient data cache to configuration * add deleting service to ui * fix saving of transient resources * fix group pair user assignments * halt scanner when penumbra inactive, add visible/online/offline split to individual pairs and tags * add presence to syncshell ui * move fullpause from config to server config * fixes in code style * more codestyle * show info icon on player in shells, don't show icon when no changes from default state are made, add online notifs * fixes to intro UI --------- Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
@@ -1,25 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MareSynchronos.API;
|
||||
using MareSynchronos.WebAPI;
|
||||
using MareSynchronos.API.Dto.User;
|
||||
using MareSynchronos.Managers;
|
||||
|
||||
namespace MareSynchronos.UI.Handlers
|
||||
{
|
||||
public class TagHandler
|
||||
{
|
||||
private readonly Configuration _configuration;
|
||||
private readonly ApiController _apiController;
|
||||
private readonly ServerConfigurationManager _serverConfigurationManager;
|
||||
|
||||
public TagHandler(Configuration configuration)
|
||||
public TagHandler(ServerConfigurationManager serverConfigurationManager)
|
||||
{
|
||||
_configuration = configuration;
|
||||
_serverConfigurationManager = serverConfigurationManager;
|
||||
}
|
||||
|
||||
public void AddTag(string tag)
|
||||
{
|
||||
GetAvailableTagsForCurrentServer().Add(tag);
|
||||
_configuration.Save();
|
||||
_serverConfigurationManager.Save();
|
||||
}
|
||||
|
||||
public void RemoveTag(string tag)
|
||||
@@ -30,20 +26,20 @@ namespace MareSynchronos.UI.Handlers
|
||||
GetUidTagDictionaryForCurrentServer().Keys
|
||||
.ToList()
|
||||
.ForEach(otherUid => RemoveTagFromPairedUid(otherUid, tag));
|
||||
_configuration.Save();
|
||||
_serverConfigurationManager.Save();
|
||||
}
|
||||
|
||||
public void SetTagOpen(string tag, bool open)
|
||||
{
|
||||
if (open)
|
||||
{
|
||||
_configuration.OpenPairTags.Add(tag);
|
||||
_serverConfigurationManager.CurrentServer!.OpenPairTags.Add(tag);
|
||||
}
|
||||
else
|
||||
{
|
||||
_configuration.OpenPairTags.Remove(tag);
|
||||
_serverConfigurationManager.CurrentServer!.OpenPairTags.Remove(tag);
|
||||
}
|
||||
_configuration.Save();
|
||||
_serverConfigurationManager.Save();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -53,7 +49,7 @@ namespace MareSynchronos.UI.Handlers
|
||||
/// <returns>open true/false</returns>
|
||||
public bool IsTagOpen(string tag)
|
||||
{
|
||||
return _configuration.OpenPairTags.Contains(tag);
|
||||
return _serverConfigurationManager.CurrentServer!.OpenPairTags.Contains(tag);
|
||||
}
|
||||
|
||||
public List<string> GetAllTagsSorted()
|
||||
@@ -71,30 +67,30 @@ namespace MareSynchronos.UI.Handlers
|
||||
.ToHashSet(StringComparer.Ordinal);
|
||||
}
|
||||
|
||||
public void AddTagToPairedUid(ClientPairDto pair, string tagName)
|
||||
public void AddTagToPairedUid(UserPairDto pair, string tagName)
|
||||
{
|
||||
var tagDictionary = GetUidTagDictionaryForCurrentServer();
|
||||
var tagsForPair = tagDictionary.GetValueOrDefault(pair.OtherUID, new List<string>());
|
||||
var tagsForPair = tagDictionary.GetValueOrDefault(pair.User.UID, new List<string>());
|
||||
tagsForPair.Add(tagName);
|
||||
tagDictionary[pair.OtherUID] = tagsForPair;
|
||||
_configuration.Save();
|
||||
tagDictionary[pair.User.UID] = tagsForPair;
|
||||
_serverConfigurationManager.Save();
|
||||
}
|
||||
|
||||
public void RemoveTagFromPairedUid(ClientPairDto pair, string tagName)
|
||||
public void RemoveTagFromPairedUid(UserPairDto pair, string tagName)
|
||||
{
|
||||
RemoveTagFromPairedUid(pair.OtherUID, tagName);
|
||||
_configuration.Save();
|
||||
RemoveTagFromPairedUid(pair.User.UID, tagName);
|
||||
_serverConfigurationManager.Save();
|
||||
}
|
||||
|
||||
public bool HasTag(ClientPairDto pair, string tagName)
|
||||
public bool HasTag(UserPairDto pair, string tagName)
|
||||
{
|
||||
var tagsForPair = GetUidTagDictionaryForCurrentServer().GetValueOrDefault(pair.OtherUID, new List<string>());
|
||||
var tagsForPair = GetUidTagDictionaryForCurrentServer().GetValueOrDefault(pair.User.UID, new List<string>());
|
||||
return tagsForPair.Contains(tagName, StringComparer.Ordinal);
|
||||
}
|
||||
|
||||
public bool HasAnyTag(ClientPairDto pair)
|
||||
public bool HasAnyTag(UserPairDto pair)
|
||||
{
|
||||
return GetUidTagDictionaryForCurrentServer().ContainsKey(pair.OtherUID);
|
||||
return GetUidTagDictionaryForCurrentServer().ContainsKey(pair.User.UID);
|
||||
}
|
||||
|
||||
private void RemoveTagFromPairedUid(string otherUid, string tagName)
|
||||
@@ -114,22 +110,12 @@ namespace MareSynchronos.UI.Handlers
|
||||
|
||||
private Dictionary<string, List<string>> GetUidTagDictionaryForCurrentServer()
|
||||
{
|
||||
if (!_configuration.UidServerPairedUserTags.ContainsKey(_configuration.ApiUri))
|
||||
{
|
||||
_configuration.UidServerPairedUserTags.Add(_configuration.ApiUri, new(StringComparer.Ordinal));
|
||||
}
|
||||
|
||||
return _configuration.UidServerPairedUserTags[_configuration.ApiUri];
|
||||
return _serverConfigurationManager.CurrentServer!.UidServerPairedUserTags;
|
||||
}
|
||||
|
||||
private HashSet<string> GetAvailableTagsForCurrentServer()
|
||||
{
|
||||
if (!_configuration.ServerAvailablePairTags.ContainsKey(_configuration.ApiUri))
|
||||
{
|
||||
_configuration.ServerAvailablePairTags.Add(_configuration.ApiUri, new(StringComparer.Ordinal));
|
||||
}
|
||||
|
||||
return _configuration.ServerAvailablePairTags[_configuration.ApiUri];
|
||||
return _serverConfigurationManager.CurrentServer!.ServerAvailablePairTags;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user