file scoped namespaces (#565)
This commit is contained in:
@@ -5,26 +5,25 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Core.Requests.Bundles
|
||||
namespace Wino.Core.Requests.Bundles;
|
||||
|
||||
public record HttpRequestBundle<TRequest>(TRequest NativeRequest, IUIChangeRequest UIChangeRequest, IRequestBase Request = null) : IRequestBundle<TRequest>
|
||||
{
|
||||
public record HttpRequestBundle<TRequest>(TRequest NativeRequest, IUIChangeRequest UIChangeRequest, IRequestBase Request = null) : IRequestBundle<TRequest>
|
||||
{
|
||||
public string BundleId { get; set; } = string.Empty;
|
||||
}
|
||||
public string BundleId { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Bundle that encapsulates batch request and native request with response.
|
||||
/// </summary>
|
||||
/// <typeparam name="TRequest">Http type for each integrator. eg. ClientServiceRequest for Gmail and RequestInformation for Microsoft Graph.</typeparam>
|
||||
/// <param name="NativeRequest">Native type to send via http.</param>
|
||||
/// <param name="BatchRequest">Batch request that is generated by base synchronizer.</param>
|
||||
public record HttpRequestBundle<TRequest, TResponse>(TRequest NativeRequest, IRequestBase Request) : HttpRequestBundle<TRequest>(NativeRequest, Request)
|
||||
/// <summary>
|
||||
/// Bundle that encapsulates batch request and native request with response.
|
||||
/// </summary>
|
||||
/// <typeparam name="TRequest">Http type for each integrator. eg. ClientServiceRequest for Gmail and RequestInformation for Microsoft Graph.</typeparam>
|
||||
/// <param name="NativeRequest">Native type to send via http.</param>
|
||||
/// <param name="BatchRequest">Batch request that is generated by base synchronizer.</param>
|
||||
public record HttpRequestBundle<TRequest, TResponse>(TRequest NativeRequest, IRequestBase Request) : HttpRequestBundle<TRequest>(NativeRequest, Request)
|
||||
{
|
||||
public async Task<TResponse> DeserializeBundleAsync(HttpResponseMessage httpResponse, CancellationToken cancellationToken = default)
|
||||
{
|
||||
public async Task<TResponse> DeserializeBundleAsync(HttpResponseMessage httpResponse, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var content = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
|
||||
var content = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
|
||||
|
||||
return JsonSerializer.Deserialize<TResponse>(content) ?? throw new InvalidOperationException("Invalid Http Response Deserialization");
|
||||
}
|
||||
return JsonSerializer.Deserialize<TResponse>(content) ?? throw new InvalidOperationException("Invalid Http Response Deserialization");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Core.Requests.Bundles
|
||||
namespace Wino.Core.Requests.Bundles;
|
||||
|
||||
///// <summary>
|
||||
///// Encapsulates request to queue and account for synchronizer.
|
||||
///// </summary>
|
||||
///// <param name="AccountId"><inheritdoc/></param>
|
||||
///// <param name="Request"></param>
|
||||
///// <param name="Request">Prepared request for the server.</param>
|
||||
///// <param name="AccountId">Which account to execute this request for.</param>
|
||||
public class ServerRequestBundle(Guid accountId, IRequestBase request) : IClientMessage
|
||||
{
|
||||
///// <summary>
|
||||
///// Encapsulates request to queue and account for synchronizer.
|
||||
///// </summary>
|
||||
///// <param name="AccountId"><inheritdoc/></param>
|
||||
///// <param name="Request"></param>
|
||||
///// <param name="Request">Prepared request for the server.</param>
|
||||
///// <param name="AccountId">Which account to execute this request for.</param>
|
||||
public class ServerRequestBundle(Guid accountId, IRequestBase request) : IClientMessage
|
||||
{
|
||||
public Guid AccountId { get; } = accountId;
|
||||
public Guid AccountId { get; } = accountId;
|
||||
|
||||
public IRequestBase Request { get; } = request;
|
||||
}
|
||||
|
||||
|
||||
//public record ServerRequestPackage<TUserActionRequestType>(Guid AccountId, TUserActionRequestType Request)
|
||||
// : ServerRequestBundle(AccountId), IClientMessage where TUserActionRequestType : IRequestBase;
|
||||
public IRequestBase Request { get; } = request;
|
||||
}
|
||||
|
||||
|
||||
//public record ServerRequestPackage<TUserActionRequestType>(Guid AccountId, TUserActionRequestType Request)
|
||||
// : ServerRequestBundle(AccountId), IClientMessage where TUserActionRequestType : IRequestBase;
|
||||
|
||||
@@ -3,30 +3,29 @@ using System.Threading.Tasks;
|
||||
using MailKit.Net.Imap;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Core.Requests.Bundles
|
||||
namespace Wino.Core.Requests.Bundles;
|
||||
|
||||
public class ImapRequest
|
||||
{
|
||||
public class ImapRequest
|
||||
{
|
||||
public Func<IImapClient, IRequestBase, Task> IntegratorTask { get; }
|
||||
public IRequestBase Request { get; }
|
||||
public Func<IImapClient, IRequestBase, Task> IntegratorTask { get; }
|
||||
public IRequestBase Request { get; }
|
||||
|
||||
public ImapRequest(Func<IImapClient, IRequestBase, Task> integratorTask, IRequestBase request)
|
||||
{
|
||||
IntegratorTask = integratorTask;
|
||||
Request = request;
|
||||
}
|
||||
}
|
||||
|
||||
public class ImapRequest<TRequestBaseType> : ImapRequest where TRequestBaseType : IRequestBase
|
||||
public ImapRequest(Func<IImapClient, IRequestBase, Task> integratorTask, IRequestBase request)
|
||||
{
|
||||
public ImapRequest(Func<IImapClient, TRequestBaseType, Task> integratorTask, TRequestBaseType request)
|
||||
: base((client, request) => integratorTask(client, (TRequestBaseType)request), request)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public record ImapRequestBundle(ImapRequest NativeRequest, IRequestBase Request, IUIChangeRequest UIChangeRequest) : IRequestBundle<ImapRequest>
|
||||
{
|
||||
public string BundleId { get; set; } = Guid.NewGuid().ToString();
|
||||
IntegratorTask = integratorTask;
|
||||
Request = request;
|
||||
}
|
||||
}
|
||||
|
||||
public class ImapRequest<TRequestBaseType> : ImapRequest where TRequestBaseType : IRequestBase
|
||||
{
|
||||
public ImapRequest(Func<IImapClient, TRequestBaseType, Task> integratorTask, TRequestBaseType request)
|
||||
: base((client, request) => integratorTask(client, (TRequestBaseType)request), request)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public record ImapRequestBundle(ImapRequest NativeRequest, IRequestBase Request, IUIChangeRequest UIChangeRequest) : IRequestBundle<ImapRequest>
|
||||
{
|
||||
public string BundleId { get; set; } = Guid.NewGuid().ToString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user