35 lines
1.4 KiB
C#
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);
|
|
});
|
|
}
|
|
}
|
|
}
|