diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json deleted file mode 100644 index 952d361b7260d2209a0308fe8b6221679099ffa6..0000000000000000000000000000000000000000 --- a/.config/dotnet-tools.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": 1, - "isRoot": true, - "tools": { - "gitversion.tool": { - "version": "5.6.4", - "commands": [ - "dotnet-gitversion" - ] - }, - "dotnet-version-cli": { - "version": "2.1.1", - "commands": [ - "dotnet-version" - ] - } - } -} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 69845dd23b91bf36aca2259ce2977bfc9e345bfb..919fbcce6fc84fbfce0aaf71233447708c9d1667 100644 --- a/.gitignore +++ b/.gitignore @@ -269,5 +269,5 @@ tools/* !tools/packages.config dist/ -#linq2db -**/LinqToDB.Templates/** +# Dotnet Tool Manifest +.config/* diff --git a/src/ApiCommons.Tests/ApiCommons.Tests.csproj b/src/ApiCommons.Tests/ApiCommons.Tests.csproj index 359debfa3b196ad161e57706c032440d3c0e319e..19f2f7d3e1e24c152b2cb8ebc84e8f302b6f6295 100644 --- a/src/ApiCommons.Tests/ApiCommons.Tests.csproj +++ b/src/ApiCommons.Tests/ApiCommons.Tests.csproj @@ -3,23 +3,14 @@ <OutputType>Library</OutputType> <RootNamespace>ApiCommons.Tests</RootNamespace> <AssemblyName>ApiCommons.Tests</AssemblyName> - <TargetFrameworks>net5.0;net461</TargetFrameworks> + <TargetFramework>net5.0</TargetFramework> </PropertyGroup> <ItemGroup> - <PackageReference Include="Consul" Version="1.6.1.1" /> - <PackageReference Include="Coscine.Configuration" Version="*-*" /> - <PackageReference Include="Coscine.Database" Version="*-*" /> - <PackageReference Include="Coscine.Logging" Version="*-*" /> - <PackageReference Include="EntityFramework" Version="6.4.4" /> - <PackageReference Include="linq2db" Version="3.2.3" /> - <PackageReference Include="LinqKit" Version="1.1.22" /> - <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" /> - <PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> - <PackageReference Include="NLog" Version="4.7.7" /> - <PackageReference Include="NLog.Config" Version="4.7.7" /> - <PackageReference Include="NLog.Schema" Version="4.7.7" /> + <ProjectReference Include="..\apicommons\ApiCommons.csproj" /> + </ItemGroup> + <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" /> - <PackageReference Include="NUnit" Version="3.13.0" /> + <PackageReference Include="NUnit" Version="3.13.1" /> <PackageReference Include="NUnit3TestAdapter" Version="3.17.0" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/src/ApiCommons.Tests/Properties/AssemblyInfo.cs b/src/ApiCommons.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 184c1846400031939609531a45b5530066581fe2..0000000000000000000000000000000000000000 --- a/src/ApiCommons.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by Cake. -// </auto-generated> -//------------------------------------------------------------------------------ -using System.Reflection; - -[assembly: AssemblyDescription("ApiCommons.Tests is a part of the CoScInE group.")] -[assembly: AssemblyCopyright("2021 IT Center, RWTH Aachen University")] \ No newline at end of file diff --git a/src/ApiCommons/AbstractDefaultStartup.cs b/src/ApiCommons/AbstractDefaultStartup.cs index 0f16393fdc0237bd441fe5e30c418884d69a19d4..30fa1830e2ddbbd84c553a34272a52aca2cb2fc0 100644 --- a/src/ApiCommons/AbstractDefaultStartup.cs +++ b/src/ApiCommons/AbstractDefaultStartup.cs @@ -1,10 +1,9 @@ using Coscine.ApiCommons.Middleware; using Coscine.Configuration; -using Coscine.Database.Settings; -using LinqToDB.Data; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.Extensions.DependencyInjection; namespace Coscine.ApiCommons @@ -39,28 +38,32 @@ namespace Coscine.ApiCommons { ConfigureServicesExtension(services); - services.AddMvc(); + services.Configure<KestrelServerOptions>(options => + { + options.AllowSynchronousIO = true; + }); + services.AddControllersWithViews().AddNewtonsoftJson(); ConfigureServicesExtensionLate(services); } - public virtual void ConfigureExtension(IApplicationBuilder app, IHostingEnvironment env) + public virtual void ConfigureExtension(IApplicationBuilder app, IWebHostEnvironment env) { } // Add Middlewares which need the User to be existent - public virtual void ConfigureExtensionMiddleware(IApplicationBuilder app, IHostingEnvironment env) + public virtual void ConfigureExtensionMiddleware(IApplicationBuilder app, IWebHostEnvironment env) { } - public virtual void ConfigureExtensionLate(IApplicationBuilder app, IHostingEnvironment env) + public virtual void ConfigureExtensionLate(IApplicationBuilder app, IWebHostEnvironment env) { } - public void Configure(IApplicationBuilder app, IHostingEnvironment env) + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { ConfigureExtension(app, env); @@ -68,7 +71,7 @@ namespace Coscine.ApiCommons app.UseMiddleware<LoggingMiddleware>(); app.UseCors(builder => builder - .AllowAnyOrigin() + .SetIsOriginAllowed(_ => true) .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials()); @@ -78,7 +81,15 @@ namespace Coscine.ApiCommons ConfigureExtensionMiddleware(app, env); app.UsePathBase(_basePath); - app.UseMvc(); + + app.UseRouting(); + + app.UseAuthorization(); + + app.UseEndpoints(endpoints => + { + endpoints.MapControllers(); + }); app.UseStatusCodePages(async context => { @@ -89,8 +100,6 @@ namespace Coscine.ApiCommons context.HttpContext.Response.StatusCode); }); - DataConnection.DefaultSettings = new CoscineSettings(_configuration); - ConfigureExtensionLate(app, env); } } diff --git a/src/ApiCommons/AbstractStartup.cs b/src/ApiCommons/AbstractStartup.cs index f10de52ec9280780d94f56efa4a93f0f3932fe22..30bf19edba31de5885ae9cd743edabd448ecfabc 100644 --- a/src/ApiCommons/AbstractStartup.cs +++ b/src/ApiCommons/AbstractStartup.cs @@ -3,6 +3,7 @@ using Coscine.JwtHandler; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.Extensions.DependencyInjection; using Microsoft.IdentityModel.Tokens; using NSwag; @@ -29,7 +30,11 @@ namespace Coscine.ApiCommons { ConfigureServicesExtension(services); - services.AddMvc(); + services.Configure<KestrelServerOptions>(options => + { + options.AllowSynchronousIO = true; + }); + services.AddControllersWithViews().AddNewtonsoftJson(); var key = _jWTHandler.GetSecurityKey(); services.AddAuthentication(x => @@ -79,14 +84,14 @@ namespace Coscine.ApiCommons }); } - public override void ConfigureExtensionMiddleware(IApplicationBuilder app, IHostingEnvironment env) + public override void ConfigureExtensionMiddleware(IApplicationBuilder app, IWebHostEnvironment env) { base.ConfigureExtensionMiddleware(app, env); app.UseMiddleware<TOSMiddleware>(); } - public override void ConfigureExtensionLate(IApplicationBuilder app, IHostingEnvironment env) + public override void ConfigureExtensionLate(IApplicationBuilder app, IWebHostEnvironment env) { base.ConfigureExtensionLate(app, env); diff --git a/src/ApiCommons/ApiCommons.csproj b/src/ApiCommons/ApiCommons.csproj index edfd7f5338efa947abffb8dff2cc3fbedb7d1193..130a6567a1f28ea4a89b333c442f64c42116a870 100644 --- a/src/ApiCommons/ApiCommons.csproj +++ b/src/ApiCommons/ApiCommons.csproj @@ -1,39 +1,36 @@ -<Project Sdk="Microsoft.NET.Sdk"> +<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Library</OutputType> <RootNamespace>Coscine.ApiCommons</RootNamespace> <AssemblyName>Coscine.ApiCommons</AssemblyName> - <TargetFrameworks>net5.0;net461</TargetFrameworks> - <Version>1.12.0</Version></PropertyGroup> + <TargetFramework>net5.0</TargetFramework> + <Version>1.12.0</Version> + </PropertyGroup> <PropertyGroup> - <SignAssembly>true</SignAssembly> + <Authors>RWTH Aachen University</Authors> + <Company>IT Center, RWTH Aachen University</Company> + <Copyright>2021 IT Center, RWTH Aachen University</Copyright> + <Description>ApiCommons is a part of the Coscine group.</Description> + <PackageLicenseExpression>MIT</PackageLicenseExpression> + <PackageProjectUrl>https://git.rwth-aachen.de/coscine/backend/libraries/ApiCommons</PackageProjectUrl> + <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> </PropertyGroup> <PropertyGroup> + <SignAssembly>true</SignAssembly> <AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <None Include="key.snk" /> </ItemGroup> <ItemGroup> - <PackageReference Include="Coscine.Database" Version="*-*" /> - <PackageReference Include="Coscine.Configuration" Version="*-*" /> - <PackageReference Include="Coscine.JwtHandler" Version="*-*" /> - <PackageReference Include="Coscine.Logging" Version="*-*" /> + <PackageReference Include="Coscine.Database" Version="2.*-*" /> + <PackageReference Include="Coscine.JwtHandler" Version="2.*-*" /> + <PackageReference Include="Coscine.Logging" Version="2.*-*" /> <PackageReference Include="linq2db" Version="3.2.3" /> - <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" /> - <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.2.0" /> - <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.2.0" /> - <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" /> - <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="2.2.0" /> - <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" /> - <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" /> - <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" /> - <PackageReference Include="Newtonsoft.Json.Bson" Version="1.0.2" /> + <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.3" /> + <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.3" /> <PackageReference Include="NLog" Version="4.7.7" /> - <PackageReference Include="NLog.Config" Version="4.7.7" /> - <PackageReference Include="NLog.Schema" Version="4.7.7" /> <PackageReference Include="NLog.Web.AspNetCore" Version="4.10.0" /> - <PackageReference Include="NSwag.AspNetCore" Version="13.10.1" /> - <PackageReference Include="System.Collections" Version="4.3.0" /> + <PackageReference Include="NSwag.AspNetCore" Version="13.10.2" /> </ItemGroup> </Project> diff --git a/src/ApiCommons/ApiCommons.nuspec b/src/ApiCommons/ApiCommons.nuspec deleted file mode 100644 index 28f5403a7794f835e3f58b3e2cbcb37210016f8f..0000000000000000000000000000000000000000 --- a/src/ApiCommons/ApiCommons.nuspec +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> -<package > - <metadata> - <id>$id$</id> - <version>$version$</version> - <title>$title$</title> - <authors>rwth-aachen</authors> - <owners>rwth-aachen</owners> - <license type="expression">MIT</license> - <projectUrl>https://git.rwth-aachen.de/coscine/cs/apicommons</projectUrl> - <requireLicenseAcceptance>false</requireLicenseAcceptance> - <description>$description$</description> - <copyright>$copyright$</copyright> - </metadata> -</package> \ No newline at end of file diff --git a/src/ApiCommons/Properties/AssemblyInfo.cs b/src/ApiCommons/Properties/AssemblyInfo.cs deleted file mode 100644 index 7613a03cc7e2adf9c50b492c73769e4f72bc2576..0000000000000000000000000000000000000000 --- a/src/ApiCommons/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by Cake. -// </auto-generated> -//------------------------------------------------------------------------------ -using System.Reflection; - -[assembly: AssemblyDescription("ApiCommons is a part of the CoScInE group.")] -[assembly: AssemblyCopyright("2021 IT Center, RWTH Aachen University")] \ No newline at end of file