Major API rework for paradigm change (#10)

* start with group permissions implementation

* refactor group dto stuff

* adjustments to api as necessary from client

* more api refactor for UserData

* use implicit usings and file scoped namespaces

* fix userpermissionsextensions

* fix extenions

* add more comparers

* adjust comparers

* remove admin stuff (tbd migration to discord bot)

* adjust extensions

* code style for api

---------

Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
rootdarkarchon
2023-01-29 15:14:33 +01:00
committed by GitHub
parent 2015496ec0
commit 0d04aaafac
66 changed files with 669 additions and 378 deletions

View File

@@ -0,0 +1,20 @@
using System.Security.Cryptography;
using Newtonsoft.Json;
namespace MareSynchronos.API.Data;
public abstract class HashableDataBase
{
protected HashableDataBase()
{
DataHash = new(() =>
{
var json = JsonConvert.SerializeObject(this, Formatting.None);
var hash = SHA256.HashData(System.Text.Encoding.UTF8.GetBytes(json));
return BitConverter.ToString(hash).ToUpperInvariant().Replace("-", "", StringComparison.OrdinalIgnoreCase);
});
}
[JsonIgnore]
public Lazy<string> DataHash { get; }
}