Improve the way bit Boilerplate deals with json (#12786) - #12787
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThe boilerplate updates add reserved tenant-name validation, revise JSON naming and converter configuration, make identity DTO contracts nullable and null-safe, adjust response-cache metadata selection, remove an async collection extension, and update documentation and localized resources. ChangesReserved tenant validation
JSON serialization configuration
Identity DTO contracts
Supporting boilerplate updates
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant Client
participant TenantController
participant ReservedTenantNames
participant ValidationResponse
Client->>TenantController: submit tenant name
TenantController->>ReservedTenantNames: check name and deployment hosts
ReservedTenantNames-->>TenantController: reserved status
TenantController->>ValidationResponse: return validation error for reserved name
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Features/Tenants/ReservedTenantNames.cs`:
- Around line 41-43: Update the host-label comparison in ReservedTenantNames to
first require more than two dot-separated segments, matching TenantProvider’s
hostSegments.Length > 2 behavior; only derive and compare firstLabel for
eligible hosts, so two-label apex hosts such as example.com do not reserve
“example”.
In
`@src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/ClaimDto.cs`:
- Around line 23-26: Add a strongly typed Equals(ClaimDto?) overload to ClaimDto
that compares ClaimType and ClaimValue, and update Equals(object?) to delegate
to this overload without recursion. Preserve null handling and the existing
equality contract.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 4957dc9c-56c3-4151-97c1-dbaf126eaee3
📒 Files selected for processing (26)
src/Templates/Boilerplate/Bit.Boilerplate/src/Client/Boilerplate.Client.Core/Components/Pages/Settings/ProfileSection.razorsrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Features/Tenants/ReservedTenantNames.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Features/Tenants/TenantController.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Features/Tenants/TenantManagementController.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Infrastructure/Extensions/JsonSerializerOptionsExtensions.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Infrastructure/Services/ServerJsonContext.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Shared/Infrastructure/Extensions/HttpContextExtensions.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Attachments/AttachmentKind.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/ClaimDto.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/EditUserRequestDto.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/IdentityJsonContext.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/UserDto.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Readme.mdsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Tenants/Dtos/TenantDto.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Dtos/AppJsonContext.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Extensions/ICollectionExtensions.cssrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.ar.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.de.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.es.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.fa.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.fr.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.hi.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.nl.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.sv.resxsrc/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Resources/AppStrings.zh.resx
💤 Files with no reviewable changes (5)
- src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/IdentityJsonContext.cs
- src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.Api/Infrastructure/Services/ServerJsonContext.cs
- src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Dtos/AppJsonContext.cs
- src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Infrastructure/Extensions/ICollectionExtensions.cs
- src/Templates/Boilerplate/Bit.Boilerplate/src/Shared/Features/Identity/Dtos/UserDto.cs
closes #12786
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Refactor