Files
messengerapi/code/MessengerApi.Contracts.MessageParser/MessageParser.cs
masiton 4393977389
All checks were successful
Build and Push Docker Image / build (push) Successful in 1m3s
Build and Push Docker Image / docker (push) Successful in 43s
Initial commit carried over from private repo. This is V2.
2025-07-04 21:24:12 +02:00

50 lines
1.4 KiB
C#

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;
}
}
}