diff --git a/src/Directory.Build.props b/src/Directory.Build.props index d4706e3..a235a53 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,6 +1,6 @@ - net6.0 + net10.0 true false 1.0.4 diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 3ff24ff..746a91f 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -4,40 +4,40 @@ - - + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + diff --git a/src/apps/Rsdo.Concordancer.Api/Controllers/ServiceApiInfo.cs b/src/apps/Rsdo.Concordancer.Api/Controllers/ServiceApiInfo.cs index c7db546..2ce7293 100644 --- a/src/apps/Rsdo.Concordancer.Api/Controllers/ServiceApiInfo.cs +++ b/src/apps/Rsdo.Concordancer.Api/Controllers/ServiceApiInfo.cs @@ -1,5 +1,5 @@ using System; -using Microsoft.OpenApi.Models; +using Microsoft.OpenApi; namespace Rsdo.Concordancer.Api.Controllers; diff --git a/src/apps/Rsdo.Concordancer.Api/Framework/SerilogExtensions.cs b/src/apps/Rsdo.Concordancer.Api/Framework/SerilogExtensions.cs index a604bff..314b1ae 100644 --- a/src/apps/Rsdo.Concordancer.Api/Framework/SerilogExtensions.cs +++ b/src/apps/Rsdo.Concordancer.Api/Framework/SerilogExtensions.cs @@ -1,9 +1,9 @@ using System; using System.Net; +using MailKit.Security; using Serilog; using Serilog.Configuration; using Serilog.Events; -using Serilog.Sinks.Email; namespace Rsdo.Concordancer.Api.Framework; @@ -23,25 +23,25 @@ public static class SerilogExtensions int batchPostingLimit = 100, string mailSubject = "Log Email") { - var connectionInfo = new EmailConnectionInfo() - { - FromEmail = fromEmail, - ToEmail = toEmail, - EmailSubject = mailSubject, - MailServer = mailServer, - Port = port, - EnableSsl = enableSsl, - }; - + NetworkCredential credentials = null; if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) { - connectionInfo.NetworkCredentials = new NetworkCredential() + credentials = new NetworkCredential() { UserName = userName, Password = password, }; } - return sinkConfiguration.Email(connectionInfo: connectionInfo, restrictedToMinimumLevel: restrictedToMinimumLevel); + return sinkConfiguration.Email( + from: fromEmail, + to: toEmail, + host: mailServer, + port: port, + connectionSecurity: enableSsl ? SecureSocketOptions.Auto : SecureSocketOptions.None, + credentials: credentials, + subject: mailSubject, + body: outputTemplate, + restrictedToMinimumLevel: restrictedToMinimumLevel); } } \ No newline at end of file diff --git a/src/apps/Rsdo.Concordancer.Api/Startup.cs b/src/apps/Rsdo.Concordancer.Api/Startup.cs index 40f9f0a..147e9c5 100644 --- a/src/apps/Rsdo.Concordancer.Api/Startup.cs +++ b/src/apps/Rsdo.Concordancer.Api/Startup.cs @@ -12,7 +12,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Microsoft.OpenApi.Models; +using Microsoft.OpenApi; using Rsdo.Concordancer.Api.Controllers; using Rsdo.Concordancer.Api.Framework; using Rsdo.Concordancer.Core.Constants; @@ -85,7 +85,11 @@ public class Startup // we would have to build the container which would (at this point) double singletons. // So we are duplicated code from ConnectionStringProvider var connectionString = Configuration[ConfigurationKey.Database.MasterConnectionString]; - x.UsePostgreSqlStorage(connectionString); + x.UsePostgreSqlStorage( + options => + { + options.UseNpgsqlConnection(connectionString); + }); x.UseMediator(); }); services.AddHangfireServer(); diff --git a/src/core/Rsdo.Concordancer.Data/Framework/VersionInfoTableMetadata.cs b/src/core/Rsdo.Concordancer.Data/Framework/VersionInfoTableMetadata.cs index 5c4d28f..ba3347d 100644 --- a/src/core/Rsdo.Concordancer.Data/Framework/VersionInfoTableMetadata.cs +++ b/src/core/Rsdo.Concordancer.Data/Framework/VersionInfoTableMetadata.cs @@ -14,6 +14,8 @@ public class VersionInfoTableMetadata : IVersionTableMetaData public string UniqueIndexName => "uc_version"; + public bool CreateWithPrimaryKey => true; + public object ApplicationContext { get; set; } public bool OwnsSchema => true;