Added policy messages for WS. Fixed DB changes via stores. Updated chat voices messages via WS to use stores.

This commit is contained in:
Tom
2024-10-21 20:44:20 +00:00
parent e3c78d96fa
commit 94e0d54c31
19 changed files with 255 additions and 137 deletions

View File

@ -1,6 +1,5 @@
using HermesSocketLibrary.Socket.Data;
using HermesSocketServer.Services;
using Serilog;
namespace HermesSocketServer.Requests
{
@ -21,11 +20,17 @@ namespace HermesSocketServer.Requests
public async Task<RequestResult> Grant(string sender, RequestMessage? message)
{
if (message == null || message.Type == null)
{
_logger.Debug($"Request type does not exist [id: {message.RequestId}][nounce: {message.Nounce}]");
return RequestResult.Failed("Request type does not exist.");
}
var channel = _channels.Get(sender);
if (channel == null)
{
_logger.Debug($"Channel does not exist [id: {message.RequestId}][nounce: {message.Nounce}]");
return RequestResult.Failed("Channel does not exist.");
}
if (!_requests.TryGetValue(message.Type, out IRequest? request) || request == null)
{
@ -36,12 +41,18 @@ namespace HermesSocketServer.Requests
if (request.RequiredKeys.Any())
{
if (message.Data == null)
{
_logger.Debug($"Request is lacking data entries [id: {message.RequestId}][nounce: {message.Nounce}]");
return RequestResult.Failed($"Request is lacking data entries.");
}
foreach (var key in request.RequiredKeys)
{
if (!message.Data.ContainsKey(key))
{
_logger.Debug($"Request is missing '{key}' in its data entries [id: {message.RequestId}][nounce: {message.Nounce}]");
return RequestResult.Failed($"Request is missing '{key}' in its data entries.");
}
}
}