- Fix update ring inventory filter using isof() - Hydrate + restore Windows Update Ring via derived-type endpoint - Add Windows Feature/Quality Update Profile support - Stabilize tenant selection in tests
19 lines
1.5 KiB
Markdown
19 lines
1.5 KiB
Markdown
# Implementation Plan: Windows Update Rings (012)
|
|
|
|
**Branch**: `feat/012-windows-update-rings`
|
|
**Date**: 2025-12-31
|
|
**Spec Source**: [spec.md](./spec.md)
|
|
|
|
## Summary
|
|
Make `windowsUpdateRing` snapshots/restores accurate by correctly capturing and applying its settings, and present a readable normalized view in Filament.
|
|
|
|
Also add coverage for Windows Feature Update Profiles (`windowsFeatureUpdateProfile`) and Windows Quality Update Profiles (`windowsQualityUpdateProfile`) so they can be synced, snapshotted, restored, and displayed in a readable normalized format.
|
|
|
|
## Execution Steps
|
|
1. **Graph contract verification**: Ensure `config/graph_contracts.php` entry for `windowsUpdateRing` is correct and complete.
|
|
2. **Snapshot capture hydration**: Extend `PolicySnapshotService` to correctly hydrate `windowsUpdateForBusinessConfiguration` settings into the policy payload.
|
|
3. **Restore**: Extend `RestoreService` to apply `windowsUpdateRing` settings from a snapshot to the target policy in Intune.
|
|
4. **UI normalization**: Add a dedicated normalizer for `windowsUpdateRing` that renders configured settings as readable rows in the Filament UI.
|
|
5. **Feature/Quality Update Profiles**: Add Graph contract + supported types, and normalizers for `windowsFeatureUpdateProfile` and `windowsQualityUpdateProfile`.
|
|
6. **Tests + formatting**: Add targeted Pest tests for sync filters/types, snapshot/normalized display (as applicable), and restore payload sanitization. Run `./vendor/bin/pint --dirty` and the affected tests.
|