PM-33964 - Unify CipherSeeder factories behind CipherSeed domain model.#7330
PM-33964 - Unify CipherSeeder factories behind CipherSeed domain model.#7330theMickster merged 2 commits intomainfrom
Conversation
Bitwarden Claude Code ReviewOverall Assessment: APPROVE This PR introduces a Code Review DetailsNo findings. The refactoring preserves existing behavior across all code paths (CipherComposer, Scenes, CreateCiphersStep, and tests). The security fix for cryptographically secure random bytes in |
|
|
Fixed Issues (2)Great job! The following issues were fixed in this Pull Request
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7330 +/- ##
==========================================
+ Coverage 57.91% 58.01% +0.09%
==========================================
Files 2045 2049 +4
Lines 90236 90363 +127
Branches 8024 8030 +6
==========================================
+ Hits 52264 52422 +158
+ Misses 36105 36077 -28
+ Partials 1867 1864 -3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|





🎟️ Tracking
PM-33968
PM-33964
📔 Objective
This is a fairly pure code refactoring and reorganization PR.
No new functionality was introduced; all tech debt cleanup to implement a stronger domain model and less duplicative code
Details
CipherSeeddomain model — strongly-typed, self-contained plaintext representation of a cipher before encryption, withFromSeedItem()factory for fixture JSON ingestionCipherSeederfactories behind a singleCreate(CipherSeed)method, eliminating the dual Create/CreateFromSeed patternSeedItemMapping.cs— mapping logic now lives on CipherSeed itself where it belongsCipherSeed.Validate()for centralized pre-factory validation instead of duplicated null guards across 5 factoriesFromSeedItem()dropped the fieldgeneration