diff --git a/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj b/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj index 5abe0cc6..3b02c2c8 100644 --- a/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj +++ b/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj @@ -1,4 +1,4 @@ - + net8.0 @@ -8,6 +8,7 @@ + @@ -24,7 +25,11 @@ - + + + + + PreserveNewest diff --git a/EnvelopeGenerator.Finalizer/Program.cs b/EnvelopeGenerator.Finalizer/Program.cs index 6f25be9c..2a96f47d 100644 --- a/EnvelopeGenerator.Finalizer/Program.cs +++ b/EnvelopeGenerator.Finalizer/Program.cs @@ -20,20 +20,28 @@ try { Log.Information("Application is starting..."); - var builder = Host.CreateApplicationBuilder(args); + var builder = WebApplication.CreateBuilder(args); - // add serilog + #region Logging builder.Logging.ClearProviders(); builder.Logging.AddSerilog(); + #endregion + #region Configuration var config = builder.Configuration; - Directory .GetFiles(builder.Environment.ContentRootPath, "appsettings.*.json", SearchOption.TopDirectoryOnly) .Where(file => Path.GetFileName(file) != $"appsettings.Development.json") .Where(file => Path.GetFileName(file) != $"appsettings.migration.json") .ToList() .ForEach(file => config.AddJsonFile(file, true, true)); + #endregion + + #region Web API Services + builder.Services.AddControllers(); + builder.Services.AddEndpointsApiExplorer(); + builder.Services.AddSwaggerGen(); + #endregion #region Worker builder.Services.AddQuartz(q => @@ -92,21 +100,33 @@ try #endregion Add DB Context, EG Inf. and Services builder.Services.AddOptions() - .Configure((GdPictureOptions opt, IServiceProvider sp) => - { - var licenseKey = "GDPICTURE"; - using var scope = sp.CreateScope(); - var mediator = scope.ServiceProvider.GetRequiredService(); - opt.License = config["GdPictureLicenseKey"] - ?? mediator.ReadThirdPartyModuleLicenseAsync(licenseKey).GetAwaiter().GetResult() - ?? throw new InvalidOperationException($"License record not found for key: {licenseKey}"); - }); + .Configure((GdPictureOptions opt, IServiceProvider sp) => + { + var licenseKey = "GDPICTURE"; + using var scope = sp.CreateScope(); + var mediator = scope.ServiceProvider.GetRequiredService(); + opt.License = config["GdPictureLicenseKey"] + ?? mediator.ReadThirdPartyModuleLicenseAsync(licenseKey).GetAwaiter().GetResult() + ?? throw new InvalidOperationException($"License record not found for key: {licenseKey}"); + }); - var host = builder.Build(); + var app = builder.Build(); - var licence = host.Services.GetRequiredService>().Value; + #region Web API Middleware + if (app.Environment.IsDevelopment()) + { + app.UseSwagger(); + app.UseSwaggerUI(); + } - host.Run(); + app.UseHttpsRedirection(); + + app.UseAuthorization(); + + app.MapControllers(); + #endregion + + app.Run(); Log.Information("The worker was stopped."); } diff --git a/EnvelopeGenerator.Finalizer/Properties/launchSettings.json b/EnvelopeGenerator.Finalizer/Properties/launchSettings.json index 8a05424f..7a34a9db 100644 --- a/EnvelopeGenerator.Finalizer/Properties/launchSettings.json +++ b/EnvelopeGenerator.Finalizer/Properties/launchSettings.json @@ -1,12 +1,41 @@ { "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:17119", + "sslPort": 44321 + } + }, "profiles": { - "EnvelopeGenerator.Finalizer": { + "http": { "commandName": "Project", "dotnetRunMessages": true, + "launchBrowser": false, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5010", "environmentVariables": { - "DOTNET_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7141;http://localhost:5010", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": false, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" } } } -} +} \ No newline at end of file diff --git a/EnvelopeGenerator.sln b/EnvelopeGenerator.sln index d84aea64..5f7e6228 100644 --- a/EnvelopeGenerator.sln +++ b/EnvelopeGenerator.sln @@ -37,10 +37,10 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EnvelopeGenerator.Form", "E EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnvelopeGenerator.PdfEditor", "EnvelopeGenerator.PdfEditor\EnvelopeGenerator.PdfEditor.csproj", "{211619F5-AE25-4BA5-A552-BACAFE0632D3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnvelopeGenerator.Finalizer", "EnvelopeGenerator.Finalizer\EnvelopeGenerator.Finalizer.csproj", "{49E6A4C0-C2FC-4A34-9821-245AF050CA26}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnvelopeGenerator.DependencyInjection", "EnvelopeGenerator.DependencyInjection\EnvelopeGenerator.DependencyInjection.csproj", "{B97DE7DD-3190-4A84-85E9-E57AD735BE61}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EnvelopeGenerator.Finalizer", "EnvelopeGenerator.Finalizer\EnvelopeGenerator.Finalizer.csproj", "{C4970E6C-DB2E-48C5-B3C5-2AF589405ED9}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -95,14 +95,14 @@ Global {211619F5-AE25-4BA5-A552-BACAFE0632D3}.Debug|Any CPU.Build.0 = Debug|Any CPU {211619F5-AE25-4BA5-A552-BACAFE0632D3}.Release|Any CPU.ActiveCfg = Release|Any CPU {211619F5-AE25-4BA5-A552-BACAFE0632D3}.Release|Any CPU.Build.0 = Release|Any CPU - {49E6A4C0-C2FC-4A34-9821-245AF050CA26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {49E6A4C0-C2FC-4A34-9821-245AF050CA26}.Debug|Any CPU.Build.0 = Debug|Any CPU - {49E6A4C0-C2FC-4A34-9821-245AF050CA26}.Release|Any CPU.ActiveCfg = Release|Any CPU - {49E6A4C0-C2FC-4A34-9821-245AF050CA26}.Release|Any CPU.Build.0 = Release|Any CPU {B97DE7DD-3190-4A84-85E9-E57AD735BE61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B97DE7DD-3190-4A84-85E9-E57AD735BE61}.Debug|Any CPU.Build.0 = Debug|Any CPU {B97DE7DD-3190-4A84-85E9-E57AD735BE61}.Release|Any CPU.ActiveCfg = Release|Any CPU {B97DE7DD-3190-4A84-85E9-E57AD735BE61}.Release|Any CPU.Build.0 = Release|Any CPU + {C4970E6C-DB2E-48C5-B3C5-2AF589405ED9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C4970E6C-DB2E-48C5-B3C5-2AF589405ED9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C4970E6C-DB2E-48C5-B3C5-2AF589405ED9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C4970E6C-DB2E-48C5-B3C5-2AF589405ED9}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -123,8 +123,8 @@ Global {A9F9B431-BB9B-49B8-9E2C-0703634A653A} = {E3C758DC-914D-4B7E-8457-0813F1FDB0CB} {6D56C01F-D6CB-4D8A-BD3D-4FD34326998C} = {E3C758DC-914D-4B7E-8457-0813F1FDB0CB} {211619F5-AE25-4BA5-A552-BACAFE0632D3} = {9943209E-1744-4944-B1BA-4F87FC1A0EEB} - {49E6A4C0-C2FC-4A34-9821-245AF050CA26} = {E3C758DC-914D-4B7E-8457-0813F1FDB0CB} {B97DE7DD-3190-4A84-85E9-E57AD735BE61} = {E3C758DC-914D-4B7E-8457-0813F1FDB0CB} + {C4970E6C-DB2E-48C5-B3C5-2AF589405ED9} = {E3C758DC-914D-4B7E-8457-0813F1FDB0CB} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {73E60370-756D-45AD-A19A-C40A02DACCC7}