|
|
4, 4/n)
Fourth slice of the DomainViewModel decomposition (off main; the audit/
monitoring/export stack has merged).
- Moves the workflow surface into DomainViewModel+Workflows.swift: workflow
lookup (workflow(withID:)/workflowsContaining), the DomainWorkflow
collaboration checks, the CRUD mutators (create/update/delete/add/remove/move),
runWorkflow/rerunCurrentDomain, and refreshWorkflowList. Pure move. The
TrackedDomain overloads of canEdit/canDelete/collaborationLabel stay on the
main type (they're watchlist collaboration, not workflow).
- Promotes the shared helpers the moved methods reach to internal, all staying
on the main type: persistWorkflows (also called by clearWorkflows),
startBatchLookup (the batch primitive shared with manual/watchlist runs),
normalizedDomain/normalizedDomains, loadWorkflows, and the activeWorkflowRunID/
Name state. The extension carries its own fileprivate String.nilIfEmpty,
matching the per-file pattern already used across the codebase.
DomainViewModel.swift: 4433 -> 4306 lines (4864 at the start of step 4).
App builds clean; unit suite 58/58. No project.pbxproj change.
|