Files
IM_NEW/MessageService.WebApi/ModuleInit.cs
T

35 lines
1.4 KiB
C#

using IM.Application.Abstractions;
using IM.Commons;
using IM.Infrastructure.Efcore;
using IM.Protocols.Grpc.Contact;
using IM.Protocols.Grpc.User;
using MessageService.Infrastructure;
using MessageService.WebApi.Application;
using MessageService.WebApi.Application.Conversation;
using MessageService.WebApi.Application.IntegrationServices;
using Microsoft.Extensions.Options;
namespace MessageService.WebApi
{
public class ModuleInit : IModuleInitializer
{
public void Initialize(IServiceCollection services)
{
services.AddScoped<Application.Message.MessageService>();
services.AddScoped<IUnitOfWork, EfUnitOfWork<MessageDbContext>>();
services.AddScoped<ConversationService>();
services.AddScoped<SquenceService>();
services.AddScoped<IContactIntegrationService, ContactIntegrationService>();
services.AddHttpClient<IGroupMemberIntegrationService, GroupMemberIntegrationService>(c =>
{
c.BaseAddress = new Uri("http://im-group-service:8080/");
});
services.AddGrpcClient<ContactInternal.ContactInternalClient>((sp, o) =>
{
var options = sp.GetRequiredService<IOptionsMonitor<GrpcOptions>>();
o.Address = new Uri(options.CurrentValue.ContactServiceUrl);
});
}
}
}