Initial commit carried over from private repo. This is V2.
All checks were successful
Build and Push Docker Image / build (push) Successful in 1m3s
Build and Push Docker Image / docker (push) Successful in 43s

This commit is contained in:
2025-07-04 21:24:12 +02:00
parent 7715816029
commit 4393977389
96 changed files with 3223 additions and 0 deletions

View File

@ -0,0 +1,50 @@
using Newtonsoft.Json;
namespace MessengerApi.Contracts.MessageParser
{
public class MessageParser<TRequest, TResponse> : IMessageParser<TRequest, TResponse>
{
public OutboxMessage GetMessageFromRequest(
TRequest request,
int targetUserId)
{
var message = new OutboxMessage
{
}
apikey,
targetUserId,
typeof(TRequest).Name,
JsonConvert.SerializeObject(request));
return message;
}
public OutboxMessage GetMessageFromResponse(
TResponse response,
string apiKey,
int targetUserId,
InboxMessage requestOrigin = null)
{
var message = new OutboxMessage(
apiKey,
targetUserId,
requestOrigin.PayloadType,
JsonConvert.SerializeObject(response));
return message;
}
public TRequest GetRequestFromMessage(InboxMessage message)
{
var request = JsonConvert.DeserializeObject<TRequest>(message.Payload);
return request;
}
public TResponse GetResponseFromMessage(InboxMessage message)
{
var request = JsonConvert.DeserializeObject<TResponse>(message.Payload);
return request;
}
}
}