Split the backend into API host, Domain, Application and Infrastructure projects. Add Swagger/OpenAPI per API version, Asp.Versioning (query/header), ProblemDetails with a global exception handler and SurrealQL migrations applied at startup (namespace/database ensured). Infrastructure owns the SurrealDB client, settings and DI.
39 lines
1.4 KiB
XML
39 lines
1.4 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Version>0.0.1</Version>
|
|
<InformationalVersion>0.0.1</InformationalVersion>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Layered projects are nested under backend/ for deployment; exclude their
|
|
sources from the API host compile (they are referenced as projects). -->
|
|
<Compile Remove="Application/**/*.cs" />
|
|
<Compile Remove="Domain/**/*.cs" />
|
|
<Compile Remove="Infrastructure/**/*.cs" />
|
|
<Content Remove="Application/**" />
|
|
<Content Remove="Domain/**" />
|
|
<Content Remove="Infrastructure/**" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="migrations/**/*.surql" CopyToOutputDirectory="PreserveNewest" CopyToPublishDirectory="PreserveNewest" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Asp.Versioning.Mvc" Version="10.2.1" />
|
|
<PackageReference Include="Asp.Versioning.Mvc.ApiExplorer" Version="10.2.1" />
|
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="10.2.3" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="Application/TarninaHub.Application.csproj" />
|
|
<ProjectReference Include="Domain/TarninaHub.Domain.csproj" />
|
|
<ProjectReference Include="Infrastructure/TarninaHub.Infrastructure.csproj" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|