Skip to content

Commit cec5a9d

Browse files
committed
chore(samples): use local multitenancy projects
switch sample references to local multitenancy projects and update docs auto-refresh the sample OpenAPI spec to include tenant routes
1 parent 7cea02b commit cec5a9d

File tree

5 files changed

+259
-39
lines changed

5 files changed

+259
-39
lines changed

docs/samples/multitenancy/header-and-route-resolution.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,18 @@ Document a sample that shows deterministic tenant resolution from route first, h
3232
dotnet new ca-sln -cf None -o CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution --database sqlite
3333
```
3434
- Verify the output folder exists and contains the new solution file plus `src/` and `tests/`.
35-
2. Add NuGet package references for the multitenancy extensions (use the latest published versions from NuGet).
36-
- Packages: [CleanArchitecture.Extensions.Multitenancy](https://www.nuget.org/packages/CleanArchitecture.Extensions.Multitenancy) and [CleanArchitecture.Extensions.Multitenancy.AspNetCore](https://www.nuget.org/packages/CleanArchitecture.Extensions.Multitenancy.AspNetCore).
35+
2. Reference the multitenancy projects directly from the repository while iterating locally.
36+
- When you switch back to NuGet, replace these `<ProjectReference />` entries with `<PackageReference />` entries pointing to the latest published versions.
3737
- `samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/src/Application/Application.csproj`:
3838
```xml
3939
<!-- Step 2: (Begin) Add Multitenancy core package -->
40-
<PackageReference Include="CleanArchitecture.Extensions.Multitenancy" VersionOverride="0.2.7" />
40+
<ProjectReference Include="..\..\..\..\src\CleanArchitecture.Extensions.Multitenancy\CleanArchitecture.Extensions.Multitenancy.csproj" />
4141
<!-- Step 2: (End) Add Multitenancy core package -->
4242
```
4343
- `samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/src/Web/Web.csproj`:
4444
```xml
4545
<!-- Step 2: (Begin) Add Multitenancy AspNetCore package -->
46-
<PackageReference Include="CleanArchitecture.Extensions.Multitenancy.AspNetCore" VersionOverride="0.2.7" />
46+
<ProjectReference Include="..\..\..\..\src\CleanArchitecture.Extensions.Multitenancy.AspNetCore\CleanArchitecture.Extensions.Multitenancy.AspNetCore.csproj" />
4747
<!-- Step 2: (End) Add Multitenancy AspNetCore package -->
4848
```
4949
3. Configure `MultitenancyOptions` for route-first ordering (`Route > Host > Header > Query > Claim`), set header name `X-Tenant-ID`, require tenants by default, allow explicitly anonymous endpoints, and disable fallback tenants.

samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/README.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,20 @@ The project was generated using the [Clean.Architecture.Solution.Template](https
77
### Step 1: Create the base solution
88
Generate the empty Web API-only solution with SQLite using the Clean Architecture template. This matches the baseline template so the multitenancy changes are easy to compare and repeat.
99

10-
### Step 2: Add multitenancy NuGet packages
11-
Reference the published Multitenancy packages from NuGet (use the latest versions available).
12-
13-
Packages:
14-
- [CleanArchitecture.Extensions.Multitenancy](https://www.nuget.org/packages/CleanArchitecture.Extensions.Multitenancy)
15-
- [CleanArchitecture.Extensions.Multitenancy.AspNetCore](https://www.nuget.org/packages/CleanArchitecture.Extensions.Multitenancy.AspNetCore)
10+
### Step 2: Reference multitenancy projects locally
11+
Reference the multitenancy projects directly from the repository while iterating locally. When you move back to NuGet, replace these `<ProjectReference />` entries with `<PackageReference />` entries that target the latest published versions.
1612

1713
`samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/src/Application/Application.csproj`:
1814
```xml
1915
<!-- Step 2: (Begin) Add Multitenancy core package -->
20-
<PackageReference Include="CleanArchitecture.Extensions.Multitenancy" VersionOverride="0.2.7" />
16+
<ProjectReference Include="..\..\..\..\src\CleanArchitecture.Extensions.Multitenancy\CleanArchitecture.Extensions.Multitenancy.csproj" />
2117
<!-- Step 2: (End) Add Multitenancy core package -->
2218
```
2319

2420
`samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/src/Web/Web.csproj`:
2521
```xml
2622
<!-- Step 2: (Begin) Add Multitenancy AspNetCore package -->
27-
<PackageReference Include="CleanArchitecture.Extensions.Multitenancy.AspNetCore" VersionOverride="0.2.7" />
23+
<ProjectReference Include="..\..\..\..\src\CleanArchitecture.Extensions.Multitenancy.AspNetCore\CleanArchitecture.Extensions.Multitenancy.AspNetCore.csproj" />
2824
<!-- Step 2: (End) Add Multitenancy AspNetCore package -->
2925
```
3026

samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/src/Application/Application.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<PackageReference Include="Ardalis.GuardClauses" />
1010
<PackageReference Include="AutoMapper" />
1111
<!-- Step 2: (Begin) Add Multitenancy core package -->
12-
<PackageReference Include="CleanArchitecture.Extensions.Multitenancy" VersionOverride="0.2.7" />
12+
<ProjectReference Include="..\..\..\..\src\CleanArchitecture.Extensions.Multitenancy\CleanArchitecture.Extensions.Multitenancy.csproj" />
1313
<!-- Step 2: (End) Add Multitenancy core package -->
1414
<PackageReference Include="FluentValidation.DependencyInjectionExtensions" />
1515
<PackageReference Include="MediatR" />

samples/CleanArchitecture.Extensions.Samples.Multitenancy.HeaderAndRouteResolution/src/Web/Web.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" />
1515
<PackageReference Include="Azure.Identity" />
1616
<!-- Step 2: (Begin) Add Multitenancy AspNetCore package -->
17-
<PackageReference Include="CleanArchitecture.Extensions.Multitenancy.AspNetCore" VersionOverride="0.2.7" />
17+
<ProjectReference Include="..\..\..\..\src\CleanArchitecture.Extensions.Multitenancy.AspNetCore\CleanArchitecture.Extensions.Multitenancy.AspNetCore.csproj" />
1818
<!-- Step 2: (End) Add Multitenancy AspNetCore package -->
1919
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" />
2020
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" />

0 commit comments

Comments
 (0)