Files
mixtape/zero.Core/Mails/ZeroMailModule.cs
T
2022-02-05 01:52:48 +01:00

28 lines
877 B
C#

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace zero.Mails;
internal class ZeroMailModule : ZeroModule
{
public override void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
services.AddScoped<IMailProvider, MailProvider>();
services.AddScoped<IMailDispatcher, LoggerMailDispatcher>();
services.AddScoped<IMailTemplatesStore, MailTemplatesStore>();
services.AddOptions<MailOptions>().Configure(opts =>
{
opts.BuildViewPath = mail => $"~/Views/Mails/{mail.Template.Key.Replace('.', '/')}.cshtml";
});
services.Configure<ZeroSearchOptions>(opts =>
{
opts.Map<MailTemplate>("fth-mail").Fields("Key").Display((x, res) =>
{
res.Description = x.Key;
res.Url = "/settings/mailtemplates/edit/" + x.Id;
});
});
}
}