diff options
| author | Christian Cleberg <[email protected]> | 2026-07-24 23:45:56 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-25 00:00:29 -0500 |
| commit | e597cdf5b7084634e300af39b622c8552c9cc5e8 (patch) | |
| tree | 9c02254bbd50bf0772076857be69f50254dfe7b3 /DomainDigShareExtension/ShareViewController.swift | |
| parent | 99e4623af1b08f36120a01b67cbe60df99668651 (diff) | |
| download | domain-dig-e597cdf5b7084634e300af39b622c8552c9cc5e8.tar.gz domain-dig-e597cdf5b7084634e300af39b622c8552c9cc5e8.tar.bz2 domain-dig-e597cdf5b7084634e300af39b622c8552c9cc5e8.zip | |
refactor: extract audit surface into DomainViewModel+Audit (v5 step 4, 1/n)
First slice of the v5.0.0 god-file decomposition. DomainViewModel.swift is a
single ~4.9k-line class body; this begins splitting it into focused
`DomainViewModel+<Concern>.swift` extensions, one cohesive concern at a time,
with each move behavior-preserving and verified by build + the test net.
- Moves the audit read/CRUD/export surface (audits/auditSession/auditTimeline,
updateAuditStatus/Notes, toggleAuditChecklistItem, add/update/remove
AuditFinding, exportAuditData) into DomainViewModel+Audit.swift as an
extension. Pure move — no logic changes.
- `startAudit(for:)` intentionally stays on the main type: it drives a live
inspection to seed the session, so it belongs with the inspection pipeline
until that is extracted. `persistAuditSessions()` is promoted from private to
internal so both files can call it (its only cross-file dependency).
No project.pbxproj change is needed — DomainDig/ is a file-system-synchronized
group, so the new file is picked up automatically.
DomainViewModel.swift: 4864 -> 4761 lines. App builds clean; unit suite 58/58.
Diffstat (limited to 'DomainDigShareExtension/ShareViewController.swift')
0 files changed, 0 insertions, 0 deletions
